Esta es una reformulación más genérica de esta pregunta (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 los siguientes crees 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. Uso de páginas como recursos y cadenas de consulta para ordenar
p.ej. http://application/products/page/2?sort_by=date&sort_how=asc
En este caso, el problema que se ve es que http://application/products/pages/1
no es un recurso único, ya que el uso sort_by=price
puede producir un resultado totalmente diferente y todavía no puedo usar el almacenamiento en caché de la página.
3. Uso de 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 sabes por qué no se recomienda, hágamelo saber)
Cualquier sugerencia, opinión, crítica es más que bienvenida. Gracias.