首页 > 解决方案 > 在 iOS 中获取 GitHub Search Api 结果的最后一页

问题描述

我正在制作一个新的 iOS (swift) 应用程序来测试一些概念,并且我正在使用 GitHub Serach API 来检索过滤存储库的列表。

到目前为止,该请求运行良好,但我无法理解分页过程以及如何知道我已达到结果的末尾。

就我所见,搜索 API 最多返回 1k 个结果,分成最多 100 个结果的页面。但是返回的 json 中带有总数的字段显示了更多可用的结果(我想它显示了满足查询的总存储库,而不是 API 中可返回的最大值)。

到目前为止,我发现在GitHub 文档中获取有关页面(和分页过程)的信息的唯一方法是在响应的标题中,例如:

Status: 200 OK
Link: <https://api.github.com/resource?page=2>; rel="next",
  <https://api.github.com/resource?page=5>; rel="last"
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 19

在这种情况下,任何人都可以建议检测页面结尾的最佳方法吗?我应该尝试从标头解析信息还是根据返回的 json 以某种方式推断它?我什至得到了“链接”标头值,但不知道如何解析它。

标签: iosswiftpaginationgithub-api

解决方案


推荐阅读