REST Webサービスでは、指定されたリソースに対してどの動詞が可能であるかを示す可能性があります。GETの場合、パラメータ、たとえば「name」を渡すことができることを指定するヘッダーを返すことはできますか?クライアントは、GET / resource?name=fooを作成できることを認識します。
1 に答える
必要に応じて新しいヘッダーを作成できますが、プロトコルの設計とあまり一致していません。まず、「/ bar」はリソースを識別し、「/ bar?name = foo」はパラメーターを持つ同じリソースではなく、別のリソースを識別することを理解することが重要です。これは多くの一般的なWebフレームワークの設計に反することを私は知っていますが、プロトコルを正しく使用する方法を理解するために不可欠です。
これに基づいて、OPTIONSメソッドは、識別されたリソースに関する情報を返す必要があります。つまり、リソースのセットではなく、リソースOPTIONS /bar
の通信オプションに関する応答を返す必要があります。OPTIONSにはペイロードに指定された形式がないことにも注意してください。相互運用可能な唯一の交換は、Allowなどのよく知られたヘッダーを介したものです。/bar
/bar?name={name}
リソースの表現にリソース/bar
に関する情報を含めるための適切な方法は/bar?name=foo
、から取得したペイロード(メディアタイプがサポートしている場合)GET /bar
、または応答ヘッダー(ますます一般的にはLinkヘッダーを介して)。HTMLフォームに代わるものについては、URIテンプレートを調べてください。