Java AtTask API中大于2000条记录的分页示例

Java AtTask API中大于2000条记录的分页示例,java,pagination,attask,Java,Pagination,Attask,在AtTask API调用中,当需要返回超过2000条记录时,如何使用分页? 举个例子,给出以下关于开发者的网站,我看到如下 分页响应 要覆盖默认的结果数并将响应设置为提供200个结果,请在查询中包括以下内容: GET/attask/api/project/search?$$LIMIT=200 为确保系统中其他租户的可靠性和性能,每个查询允许的最大限制为2000个对象。尝试指定更大的限制将导致错误 因此,建议您考虑使用大容量数据集的分页响应。要指定应返回的第一个结果,可以添加$$first过滤器

在AtTask API调用中,当需要返回超过2000条记录时,如何使用分页?
举个例子,给出以下关于开发者的网站,我看到如下

分页响应

要覆盖默认的结果数并将响应设置为提供200个结果,请在查询中包括以下内容:

GET/attask/api/project/search?$$LIMIT=200

为确保系统中其他租户的可靠性和性能,每个查询允许的最大限制为2000个对象。尝试指定更大的限制将导致错误

因此,建议您考虑使用大容量数据集的分页响应。要指定应返回的第一个结果,可以添加

$$first
过滤器。下面将返回查询的结果201-250

GET/attask/api/project/search?$$FIRST=201&$$LIMIT=50


我不明白的是如何计算出我有多少。如果我想在系统中下载小时数,我如何知道我必须调用多少次(是否有
count(*)
)或类似的方法?我是否只是简单地获取第一个2k,进程,尝试获取下一个2k,如果不是空的话,进程?冲洗并重复?

因为初始搜索只会提取2000个结果,所以您必须迭代并提取下一个2000个结果,直到没有结果为止

您可以使用报告调用获取项目总数。因此,在您的示例中,要获取系统中的小时数对象(而不是总小时数),可以执行以下操作:

/attask/api/HOUR/report?ID_AggFunc=count

希望有帮助

我们还可以检查当前响应是否包含小于2000的对象,然后停止迭代。因为它表明没有更多的数据。