REST 分页元数据的约定

发布于 2024-12-09 10:46:29 字数 354 浏览 0 评论 0原文

我无法找到与此相关的任何信息,因此我想我应该询问这里的社区是否有关于如何向最终用户提供 REST 界面分页信息的任何约定。

特别是我想知道我应该返回对象的总数,以便它们可以计算页数,或页数,或两者?我应该如何返回这些信息?我可以看到它的几种不同的工作方式:

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

我问这个问题主要是为了避免通过做一些与任何既定惯例完全不同的事情来避免让人们出局,所以我很感激任何关于什么是最好的方法的评论,我是否错过了任何明显的解决方案等等

。谢谢。

I'm having trouble finding any information about this so I thought I'd ask the community here if there are any conventions on how to give the end user of a REST interface pagination info.

In particular I'm wondering should I return the total number of objects so they can calculate the number of pages, or the number of pages, or both? How should I return this information? I can see a few different ways it could work:

  • Have a separate call to get the number of results. This would require multiple calls from the client so it doesn't seem optimal.
  • Return this information as headers in the response.
  • Add this information to my root object.

I'm asking primarily so I can avoid catching people out by doing something completely different to any established conventions so I'd appreciate any comments on what is the best way, whether I've missed any obvious solutions, etc.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

原谅过去的我 2024-12-16 10:46:29

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

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

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

If you look here http://www.iana.org/assignments/link-relations/link-relations.xml there are standardized link relations for first, last, next and previous. You should embed links into the returned representation and identify those links using the standard link relations.

Your client code should be aware of those special link relation names and use the links as required. If the "next" link is not present in the response then your client should assume it is at the last page and if the "previous" link is not present, then you must be at the first page.

As far as returning the number of pages available, I am not aware of any standard, as that number is really only used for display purposes so it does not require special conventions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文