答案 0 :(得分:9)
这是一个非常有趣的问题,我想我找到了答案。让我们使用GitHub top user图表随机选择Ocramius和他的299星标回购,可以this address的JSON格式提供。
现在让我们尝试通过curl -I "https://api.github.com/users/Ocramius/starred"
查询标题。我们得到一个有希望的标题:
链接:https://api.github.com/user/154256/starred?page=2; rel =“next”,https://api.github.com/user/154256/starred?page=10;的rel = “最后一个”
此标头来自the pagination feature of the API,那么如果我们要求curl -I "https://api.github.com/users/Ocramius/starred?per_page=1"
每页有一条记录,会发生什么?
链接:https://api.github.com/user/154256/starred?per_page=1&page=2; rel =“next”,https://api.github.com/user/154256/starred?per_page=1&page=299;的rel = “最后一个”
啊哈!如果我们解析此RFC5988 HTTP标头,我们可以删除标记为rel="last"
的网页编号,并且我们有299的正确答案!
答案 1 :(得分:4)
对Ken Y-N
答案的建议:
如果用户只有一个或零个星号,则api将在没有Link
标题的情况下进行响应。
因此,当响应没有Link
标题时,您可以直接从响应正文中的JSON-ARRAY
长度中获取已加星标的计数。它可以是0或1。