Пагинация в веб-приложении REST

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

Любые предложения, мнения, критика приветствуются. Благодарю.

Ответы на вопрос(12)

Ваш ответ на вопрос