java - 从分页 REST 中获取所有值

标签 java rest pagination

有可能从分页 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/

相关文章:

java - 有没有解析用户代理字符串的好方法?

java - 提供静态内容时出错 Dropwziard

python - 在 boto3 中对 DynamoDB 查询进行分页

java - Scene Builder 2.0 忽略 Controller

java - 在运行时更改对象类型

java - Java 7 中稀疏文件的含义是什么?

rest - 如何在 groovy 中进行 Rest PUT/POST

带有由客户端分隔的 Multi-Tenancy 数据库的 Rest API

PHP MySQLi 分页 LIMIT 问题

css - 如何删除表格的这一部分?