REST Web アプリケーションでのページネーション 質問する

REST Web アプリケーションでのページネーション 質問する

これは、より一般的な表現である。この質問(Rails特有の部分を省いたもの)

RESTful Web アプリケーションのリソースにページ区切りを実装する方法がよくわかりません。 というリソースがあると仮定するとproducts、次のうちどれが最適なアプローチだと思いますか。また、その理由は何ですか。

1. クエリ文字列のみを使用する

たとえば、http://application/products?page=2&sort_by=date&sort_how=asc
ここでの問題は、フルページキャッシュを使用できないことと、URL があまりきれいで覚えにくいことです。

2. ページをリソースとして使用し、クエリ文字列を並べ替える

たとえば、この場合、 を使用するとまったく異なる結果が得られる可能性があるため、 が一意のリソースではないhttp://application/products/page/2?sort_by=date&sort_how=asc
という問題がありページ キャッシュをまだ使用できません。http://application/products/pages/1sort_by=price

3. ページをリソースとして使用し、URLセグメントを並べ替えに使用する

例えば、http://application/products/by-date/page/2
個人的にはこの方法を使うことに問題はないと思いますが、誰かがこれは良い方法ではないと警告しました(理由は述べられていないので、なぜ推奨されないのかご存知でしたら教えてください)

ご提案、ご意見、ご批評など何でも大歓迎です。よろしくお願いします。

ベストアンサー1

私はFionnに同意しますが、もう一歩進んで、私にとってページはリソースではなく、リクエストのプロパティだと言います。そのため、私はオプション1のクエリ文字列のみを選択しました。それが正しいと感じています。ツイッターAPI構造が安定しています。単純すぎず、複雑すぎず、ドキュメントも充実しています。良くも悪くも、これは私が何かをある方法で行うか別の方法で行うか迷っているときに頼りにするデザインです。

おすすめ記事