如果我有一个(大)资源集合,可以如何给客户端提供一个分布列表?
不要使用像添加一个分页码到 URL 或者 query string 中这样的自定义的分页系统,相反,使用关系链接。
GET /collection HTTP/1.1 HTTP/1.1 200 OK <collection> <article id="1">...</article> <article id="2">...</article> <article id="3">...</article> <article id="4">...</article> <article id="5">...</article> <meta> <link rel="self" href="/collection" title="Current page"/> <link rel="next" href="/collection/2" title="Next page"/> <link rel="first" href="/collection/1" title="First page"/> <link rel="last" href="/collection/5" title="Last page"/> </meta> </collection>
当客户端希望浏览下一个分页集合,它可以通过「next」关系链接来获得。这是 IANA 定义的标准关联类型。
另请参见
注意
- 尽管它尝试通过创建 URL 来建立自己的分布 scheme,但必须只使用 API 给出的消息。这意味着,你不能假设第 3 页就存在于 /collection/3, 如果这样,客户端将会因为 API 更换分页方式而出问题。