2015-05-14 82 views
2

在使用分頁程序調用生成的api時,是否有任何方法可以調用生成的REST-api來檢索對象的所有實例,只檢查前20個,30,40等?如何檢索實體的JHipster API上的所有實例

我發現,因爲我使用分頁進行實體創建和管理,所以當我想在其他視圖(自己創建的)中使用這些實體時,那麼在調用entity.query()時,API不會提供所有實例/ JS。

這是JHipster的限制,還是我可以通過任何其他方式調用REST API來提供信息來丟棄paginator?

回答

2

您可以修改該實體的現有休息控制器。這是一個Center實體的例子。

如果沒有偏移和限制值,我將返回所有中心。

@RequestMapping(value = "/centers", 
     method = RequestMethod.GET, 
     produces = MediaType.APPLICATION_JSON_VALUE) 
@Timed 
public ResponseEntity<List<Center>> getAll(@RequestParam(value = "page" , required = false) Integer offset, 
           @RequestParam(value = "per_page", required = false) Integer limit) 
    throws URISyntaxException { 
    if(offset == null && limit == null) { 
     return new ResponseEntity<List<Center>>(centerRepository.findAll(), HttpStatus.OK); 
    } else { 
     Page<Center> page = centerRepository.findAll(PaginationUtil.generatePageRequest(offset, limit)); 
     HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/centers", offset, limit); 
     return new ResponseEntity<List<Center>>(page.getContent(), headers, HttpStatus.OK); 
    } 
} 

然後在角度上,你只需要調用Center.query();沒有參數。

+0

這有效,但我覺得JHipster應該有這個作爲默認。如果我使用entity-manager重新創建我的實體,那麼我會放棄這些更改:/ –

+0

使用VCS跟蹤更改並最終恢復它們,如果您想保留所做的事情。 –

+0

我不認爲Jhipster應該有這個默認設置。通過在生成器詢問時選擇分頁,您不希望用戶能夠一次獲得所有實例。想象一下你有數百萬個實例。 –