クライアントがすでにキャッシュしているものを複製せずに、RESTfulサービスから利用可能なコンテンツの「ランダムな」チャンクを取得することについて質問があります。どうすればRESTfulな方法でこれを行うことができますか?
私は非常に多くのアイテム(テキストとURLを含む小さな記事)を提供しています。/ api /article/のふりをしましょう
私の(ソフトウェア)クライアントは、利用可能なもののランダムなチャンクを取得したいと考えています。それらすべてをクライアントにロードするには多すぎます。彼らは自然な秩序を持っていないので、彼らがただ最新のものを求めることができる状況ではありません。代わりに、クライアントが見たい記事のタイプ(たとえば、人気のある、最近の、トレンドの...)を「ヒント」に与えることができる約6〜10の属性があります。
時間が経つにつれて、クライアントはますます多くのコンテンツを取得しますが、サーバーでは、クライアントがすでに何を持っているかわかりません。また、ランダムに送信されるため、クライアントが持っている「最新の」コンテンツを渡すことはできません。
ローカルに保存されているもののGUIDを送信できると考えられます。クライアントはローカルに50-100のみを保存します。これは、POST変数に詰め込むには十分小さいですが、GETクエリ文字列には詰め込みません。
これを設計するためのクリーンな方法は何ですか?
キーポイント:
- データには論理的な順序はありません
- クライアントはコンテンツをローカルにキャッシュする必要があります
- 各アイテムにはGUIDがあります
- 重複をプルダウンしないようにしたい