Questa è una riformulazione più generica di questa domanda (con l'eliminazione delle parti specifiche di Rails)
Non sono sicuro di come implementare l'impaginazione su una risorsa in un'applicazione Web RESTful. Supponendo che io abbia una risorsa chiamata products
, quale dei seguenti ritieni sia l'approccio migliore e perché:
1. Utilizzando solo stringhe di query
per esempio. http://application/products?page=2&sort_by=date&sort_how=asc
Il problema qui è che non riesco a utilizzare la memorizzazione nella cache a pagina intera e anche l'URL non è molto pulito e facile da ricordare.
2. Utilizzo delle pagine come risorse e stringhe di query per l'ordinamento
per esempio. http://application/products/page/2?sort_by=date&sort_how=asc
In questo caso, il problema che si vede è che http://application/products/pages/1
non è una risorsa unica poiché l'utilizzo sort_by=price
può produrre un risultato totalmente diverso e non riesco ancora a utilizzare la memorizzazione nella cache della pagina.
3. Utilizzo delle pagine come risorse e di un segmento URL per l'ordinamento
per esempio. http://application/products/by-date/page/2
Personalmente non vedo alcun problema nell'uso di questo metodo, ma qualcuno mi ha avvertito che questo non è un buon modo di procedere (non ha fornito un motivo, quindi se sai perché non è raccomandato, faccelo sapere)
Eventuali suggerimenti, opinioni, critiche sono più che benvenuti. Grazie.