【发布时间】:2010-10-21 01:24:53
【问题描述】:
这是对this question 的更通用的重新表述(消除了 Rails 特定的部分)
我不确定如何在 RESTful Web 应用程序中的资源上实现分页。
假设我有一个名为 products 的资源,您认为以下哪种方法是最好的方法,为什么:
1。仅使用查询字符串
例如。 http://application/products?page=2&sort_by=date&sort_how=asc
这里的问题是我不能使用整页缓存,而且 URL 不是很干净,也不是很容易记住。
2。使用页面作为资源和查询字符串进行排序
例如。 http://application/products/page/2?sort_by=date&sort_how=asc
在这种情况下,看到的问题是http://application/products/pages/1 不是唯一资源,因为使用sort_by=price 会产生完全不同的结果并且我仍然不能使用页面缓存。
3。使用页面作为资源和 URL 段进行排序
例如。 http://application/products/by-date/page/2
我个人认为使用这种方法没有问题,但有人警告我这不是一个好方法(他没有给出理由,所以如果你知道为什么不推荐,请告诉我)
任何建议、意见、批评都非常受欢迎。谢谢。
【问题讨论】:
-
这是一个很好的问题。
-
额外问题:人们通常如何指定页面大小?
标签: rest sorting pagination