在多页结果的情况下,REST URI的优秀设计是什么?

时间:2011-10-25 17:05:01

标签: rest uri

假设我有一个我希望通过REST公开的服务。 对服务的查询可能会产生一长串结果,这些结果将逐页返回,这就是用户必须能够:

的原因。
  • 指定排序标准(对一个属性或另一个属性的值进行字母排序)
  • 指定从哪里获得结果的关键值:“显示来自字母C的结果......”
  • 指定开始获取结果的页码(即我想从第3页获得结果)
  • 指定每页的最大结果数

我认为排序标准非常适合查询字符串参数,因为它不属于资源,只是它返回的表示的首选项。

其他选择呢?整个想法听起来是否合理,或者说它的网络起源太多了?

作为旁注,您是否有针对具有多页结果的重度查询提供良好总体设计建议的指示(例如,在服务器上缓存结果的策略)?

谢谢。

1 个答案:

答案 0 :(得分:2)

来自RESTful Web Services Cookbook

请求

GET /book?sortbyDesc=date&limit=5

响应

{
"id": 9,
"links": [{
  "href": "/book?sortByDesc=date&limit=5&start=5",
  "rel": "next"}]
}