Dies ist eine allgemeinere Neuformulierung dieser Frage (unter Eliminierung der Rails-spezifischen Teile).
Ich bin nicht sicher, wie ich die Paginierung einer Ressource in einer RESTful-Webanwendung implementieren soll. Angenommen, ich habe eine Ressource namens products
, welche der folgenden Methoden ist Ihrer Meinung nach der beste und warum:
1. Verwenden Sie nur Abfragezeichenfolgen
z.B. http://application/products?page=2&sort_by=date&sort_how=asc
Das Problem hierbei ist, dass ich kein Ganzseiten-Caching verwenden kann und auch die URL nicht sehr sauber und leicht zu merken ist.
2. Verwenden von Seiten als Ressourcen und Abfragezeichenfolgen zum Sortieren
z.B. http://application/products/page/2?sort_by=date&sort_how=asc
In diesem Fall besteht das Problem darin, dass http://application/products/pages/1
es sich nicht um eine eindeutige Ressource handelt, da die Verwendung zu sort_by=price
einem völlig anderen Ergebnis führen kann und ich das Seiten-Caching immer noch nicht verwenden kann.
3. Verwenden von Seiten als Ressourcen und eines URL-Segments zum Sortieren
z.B. http://application/products/by-date/page/2
Ich persönlich sehe kein Problem bei der Verwendung dieser Methode, aber jemand hat mich gewarnt, dass dies kein guter Weg ist (er hat keinen Grund angegeben. Wenn Sie also wissen, warum dies nicht empfohlen wird, lassen Sie es mich bitte wissen.)
Irgendwelche Vorschläge, Meinungen, Kritiken sind mehr als willkommen. Vielen Dank.