Это более общая переформулировка этого вопроса (с устранением специфических частей Rails)
Я не уверен, как реализовать разбиение на страницы ресурса в веб-приложении RESTful.
Предполагая, что у меня есть ресурс с именем 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
Я лично не вижу проблем с использованием этого метода, но кто-то предупредил меня, что это не очень хороший способ (он не дал причины, поэтому, если вы знаете, почему это не рекомендуется, сообщите мне об этом)
Любые предложения, мнения, критические замечания более чем приветствуются. Спасибо.