9


5

パラメーター付きREST GET動詞

仲間のチームメイトと一緒にRESTを読んでいます。RoRアプリケーションを作成し、その機能の一部を世界に公開します。

このチームでの私の仕事は、ジャーナルレポートを公開するリソースを作成することです。 電話した場合

サービスからすべてのjournalreportsを取得する必要があります。 それは魅力のように機能しますが、ジャーナルレポートの範囲を公開するリソースを適切に作成する方法については混乱しています。 作るべきか

または、?range =干渉のためにRESTについて話すとき、これは違法ですか?

RESTリソースにいくつかのパラメーターを与える最も適切な方法は何ですか?

2 Answer


15


特に、あなたの場合のような検索リソース(一連のジャーナルのクエリ)の場合、パラメーターは完全に問題ありません。


6


RESTは、クエリパラメーターを「違法」にすることは一切ありません。 これは、主に表現を交換してアプリケーションを駆動することに関するアーキテクチャスタイルです。 URIが不透明であることを考慮すると、たとえばRESTに関する限り、「http://example.com/page/1」と「http:// example /?page = 1」の間に実質的な違いはありません(最終的に送信される表現に依存しますが、選択またはURIスタイルは実装の詳細になる傾向があります)。

重要なのは、クライアントがレポートのURIをどのように知るかです。 HTMLは、フォームとクエリパラメーターでこれを非常にうまく行うことができます。 あなたのサービスがブラウザの消費のためであろうと、他のエージェントであろうと、本当に関係ありません、あなたは同じ原則を使うことができます。 より柔軟にしたい場合、またはトップページの明示的なリンクを使用する場合は、HTMLフォーム(またはクライアントがブラウザーでない場合は同等)を使用できます。 (範囲をより動的にしたい場合は、範囲を「from」と「to」などの2つのパラメーターに分割する方が簡単な場合があります。)