Paginación en una aplicación web REST

Esta es una reformulación más genérica deesta pregunt (con la eliminación de las partes específicas de Rails)

No estoy seguro de cómo implementar la paginación en un recurso en una aplicación web RESTful. Suponiendo que tengo un recurso llamadoproducts, ¿cuál de las siguientes opciones cree que es el mejor enfoque y por qué:

1. Usando solo cadenas de consulta

p.ej. @http://application/products?page=2&sort_by=date&sort_how=asc
El problema aquí es que no puedo usar el almacenamiento en caché de la página completa y también la URL no es muy limpia y fácil de recordar.

2. Usar páginas como recursos y cadenas de consulta para ordenar

p.ej. @http://application/products/page/2?sort_by=date&sort_how=asc
n este caso, el problema que se ve es quehttp://application/products/pages/1 no es un recurso único ya que usasort_by=price puede producir un resultado totalmente diferente Todavía no puedo usar el almacenamiento en caché de la página.

3. Usar páginas como recursos y un segmento de URL para ordenar

p.ej. @http://application/products/by-date/page/2
Personalmente, no veo ningún problema en usar este método, pero alguien me advirtió que no es una buena manera de hacerlo (no dio una razón, así que si sabespor qu no se recomienda, hágamelo saber)

Ningun sugerencias, opiniones, críticas son más que bienvenidas. Gracias

Respuestas a la pregunta(12)

Su respuesta a la pregunta