这是对该问题的更一般化的表述(省去了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
我个人认为使用此方法没有问题,但是有人警告我这不是一个好方法(他没有给出原因,因此,如果您知道为什么不建议这样做,请告诉我)
任何建议,意见,批评都将受到欢迎。谢谢。