1

我必须决定从列表中返回结果的分页策略。特别是,我正在考虑两种方法:

列出从 50 到 75 的结果的示例:

使用查询参数:GET /items?start=50&limit=25

优点

  • 被广泛使用的
  • 可收藏

缺点

  • 您可能需要对 URL(“&”字符)进行编码以将其放置在 XML 响应中(符合 HATEOAS),在这种情况下,URL 将不是很人性化。

嵌入在 URL 上(页面作为子资源):GET /items/from-page-50-limited-to-25

优点

  • 根据需要人类可读(不是必需的,但似乎是一件好事)
  • 无需编码

缺点

  • 构建 URL 客户端有点困难
  • 页面并不是真正的item的子资源,而是listing items策略的子产品

在您看来,哪种是最佳的 REST 实践方法?

提前致谢!

4

1 回答 1

1

我相信你通过研究指出了最佳实践,并说你们中的第一个选项被广泛使用。这也是我认为最符合查询组件的使用方式的选项。在RFC 3986中,它指出

查询组件包含非分层数据,这些数据与路径组件(第 3.3 节)中的数据一起用于标识资源

(来自REST 资源 url 中的查询字符串)。

另一种看待它的方式是,您的第二个选项是说 that /items/from-page-50-limited-to-25is an unity resource/entity 以及 is /items/from-page-1-limited-to-25. 对我来说,更自然地认为这/items是我可以选择收藏的独特资源。

于 2012-07-24T21:33:29.393 回答