2015-05-14 52 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应该有这个默认设置。通过在生成器询问时选择分页,您不希望用户能够一次获得所有实例。想象一下你有数百万个实例。 –