REST分页元数据的约定

时间:2011-10-12 11:50:14

标签: rest pagination

我无法找到有关此内容的任何信息,所以我想我在这里询问社区是否有关于如何为最终用户提供REST接口分页信息的约定。

特别是我想知道我应该返回对象的总数,以便他们可以计算页数,页数,或两者兼而有之?我该如何归还这些信息?我可以看到一些不同的方式:

  • 单独调用以获取结果数。这将需要来自客户端的多次调用,因此它似乎不是最佳的。
  • 将此信息作为回复中的标题返回。
  • 将此信息添加到我的根对象。

我主要是这样问我可以通过做一些完全不同于任何既定惯例的事情来避免让人们离开,所以我很感激任何关于什么是最好的方式的评论,我是否错过了任何明显的解决方案等等。 / p>

感谢。

1 个答案:

答案 0 :(得分:2)

如果你看这里http://www.iana.org/assignments/link-relations/link-relations.xml,有第一个,最后一个,下一个和前一个的标准化链接关系。您应该将链接嵌入到返回的表示中,并使用标准链接关系标识这些链接。

您的客户端代码应该知道这些特殊的链接关系名称,并根据需要使用链接。如果响应中没有“下一个”链接,那么您的客户应该认为它位于最后一页,如果“上一个”链接不存在,那么您必须位于第一页。

至于返回可用页数,我不知道任何标准,因为该数字实际上仅用于显示目的,所以它不需要特殊约定。