Esta é uma reformulação mais genérica dessa questão (com a eliminação das partes específicas do Rails)
Não sei como implementar a paginação em um recurso em um aplicativo Web RESTful. Supondo que eu tenha um recurso chamado products
, qual das seguintes opções você acha que é a melhor abordagem e por quê:
1. Usando apenas cadeias de consulta
por exemplo. http://application/products?page=2&sort_by=date&sort_how=asc
O problema aqui é que não consigo usar o cache de página inteira e também o URL não é muito limpo e fácil de lembrar.
2. Usando páginas como recursos e cadeias de consulta para classificação
por exemplo. http://application/products/page/2?sort_by=date&sort_how=asc
Nesse caso, o problema que se vê é que http://application/products/pages/1
não é um recurso exclusivo, pois o uso sort_by=price
pode gerar um resultado totalmente diferente e ainda não consigo usar o cache da página.
3. Usando páginas como recursos e um segmento de URL para classificação
por exemplo. http://application/products/by-date/page/2
Pessoalmente, não vejo problema em usar esse método, mas alguém me avisou que esse não é um bom caminho a seguir (ele não deu um motivo, por isso, se você souber por que não é recomendado, entre em contato)
Quaisquer sugestões, opiniões e críticas são bem-vindas. Obrigado.