有可能从分页 REST 中获取所有值吗?例如我有 REST:
@RequestMapping(value = "/divisions", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public ResponseEntity<List<Division>> getAllDivisions(Pageable pageable)
throws URISyntaxException {
log.debug("REST request to get a page of Divisions");
Page<Division> page = divisionRepository.findAll(pageable);
HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/divisions");
return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
}
但在我的应用程序中,我需要获得所有部门。我试过这样的事情: http://localhost:9000/api/divisions?size=MAX但它不起作用。 我必须为此创建新的 REST 吗?
最佳答案
很可能,您正在使用的数据库和驱动程序返回必须具有设置页面大小的分区内容页面。
在你的情况下,要么你用值'MAX'解析查询参数'size',如果大小为MAX,你需要在循环中调用findAll方法直到你得到所有页面并在循环中继续添加将这些页面内容添加到一个列表中,最后您将返回该列表。
如何获取所有页面取决于您的驱动程序,例如在 DynamoDB 的情况下,有一种方法可以获取页面内容的最后一个 ID 并使用该 ID 获取下一页内容。没有具体细节,就很难制定出有效的方法。
关于java - 从分页 REST 中获取所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40319406/