java - 如何通过url获取分页中的所有数据
问题描述
我有一个问题,我想从 API 迭代分页,我想制作导出功能但使用分页,我的问题是我对如何迭代它感到困惑,API 有分页。
private Document getProcessInstances(String status, int page, int size, String sort) {
StringBuilder url = new StringBuilder();
url.append(activitiqueryhost)
.append("/v1/process-instances?status=")
.append(status)
.append("&page=")
.append(page)
.append("&size=")
.append(size)
.append("&sort=")
.append(sort);
System.out.println(" >>>>>>>>>> URL=" + url.toString());
try {
ResponseEntity<String> processinstancestring = this.get(url.toString());
System.out.println("processinstancestring=" + processinstancestring.getBody());
Document processinstance = Document.parse(processinstancestring.getBody());
System.out.println(">>>>> processinstance=" + processinstance.toJson());
Document processinstancelist = (Document) processinstance.get("list");
System.out.println(">>>>> list=" + processinstancelist.toJson());
}
return processinstancelist;
}
[已解决] 感谢您的问题,我已经解决了这个问题,所以我提出了一种从分页中获取 totalItems 的新方法,并对其进行迭代。
解决方案
不确定,如果我理解正确的话。例如,如果您需要对从数据存储中获得的结果进行分页。您需要遵循以下 2 个步骤
- 获取指定请求页面信息的Pageable对象。
- 将 Pageable 对象作为方法参数传递给正确的存储库方法。
根据 spring 文档,在 CrudRepository 之上,有一个 PagingAndSortingRepository 抽象,它添加了额外的方法来简化对实体的分页访问(文档链接)
在您的 Controller 类中,您可以形成 Pageable 对象并将其传递给存储库。
此外,您可以
spring.data.web.pageable.default-page-size=5
在 application.properties 中设置页面的默认大小。
您可以尝试在项目下面运行,看看是否有帮助
推荐阅读
- java - 如何通过 OWL API 从多个文件中加载本体?
- c# - 从 BundleConfig 在 RegisterBundles 中查找网站 URL
- r - 在 R 中计算平均值时丢失小数位
- reactjs - 我应该如何使用 HOC 测试 React 组件的组成(或者我什至应该测试它们)?
- javascript - 如何为 SinglyLinkedList 实现方法 add(value, index) 和 remove(index)
- python - 使用请求从 Python 3 中的 API 调用下载 CSV
- java - Java Netbeans 显示 opencv3 错误“错误:无法找到或加载主类库”
- chatbot - 如何区分对话流中语音响应的缩写
- javafx - 为什么 javaFX 在运行时使用阿拉伯语太慢?
- java - Spring Boot GCP Data Spanner 延迟问题