【问题标题】:How to get all data in pagination by url如何通过url获取分页中的所有数据
【发布时间】:2019-04-11 11:48:05
【问题描述】:

我有一个问题,我想从 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 的新方法,并对其进行迭代。

【问题讨论】:

  • 请说明制作导出功能但使用分页是什么意思?
  • 例如,我想从 API 获取数据......并且 API 有分页......我想通过 url 使用迭代分页来获取所有数据......有什么想法吗?

标签: java api spring-boot pagination


【解决方案1】:

不确定,如果我理解正确的话。例如,如果您需要对从数据存储中获得的结果进行分页。您需要遵循以下 2 个步骤

  1. 获取指定请求页面信息的Pageable对象。
  2. 将 Pageable 对象作为方法参数传递给正确的存储库方法。

根据 spring 文档, 在 CrudRepository 之上,有一个 PagingAndSortingRepository 抽象,它添加了额外的方法来简化对实体的分页访问(doc link)

在您的 Controller 类中,您可以形成 Pageable Object 并将其传递给 Repository。

另外,你可以设置 spring.data.web.pageable.default-page-size=5 在您的 application.properties 中设置页面的默认大小。

您可以尝试在下面的项目中运行,看看是否有帮助

https://github.com/sidd081/spring-boot-sampless

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多