这是这个问题的更通用的重新表述(消除了 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
我个人认为使用这种方法没有问题,但有人警告我这不是一个好方法(他没有给出理由,所以如果你知道为什么不推荐,请告诉我)
任何建议,意见,批评都非常受欢迎。谢谢。