分页

请求某个资源集合时,可以通过指定 count 参数来指定每页的资源数量,通过 page 参数指定页码,或根据需求使用 last_cursor 参数指定上一页最后一个资源的标识符替代 page 参数。

如果没有传递 count 参数或者 count 参数的值为空,则使用默认值,建议在设计时设置一个最大值。

分页的相关信息可以包含在 Link HeaderX-Pagination-Info 中( HTTP 头的语法格式可以参考 ABNF List Extension: #rule )。

如果是第一页或者是最后一页时,不返回 previousnext 的 Link 。

  1. HTTP/1.1 200 OK
  2. X-Pagination-Info: count="542"
  3. Link: <http://api.example.com/#{RESOURCE_URI}?last_cursor=&count=100>; rel="first",
  4. <http://api.example.com/#{RESOURCE_URI}?last_cursor=200&count=100>; rel="last",
  5. <http://api.example.com/#{RESOURCE_URI}?last_cursor=90&count=100>; rel="previous",
  6. <http://api.example.com/#{RESOURCE_URI}?last_cursor=120&count=100>; rel="next",
  7. <http://api.example.com/#{RESOURCE_URI}?last_cursor={last_cursor}&count={count}>; rel="url-template:pagination"
  8. [
  9. ...
  10. ]

相关资料: