2016-10-17 8 views
2

私は常に生産を使用し、@RequestMappingで消費します。RESTのヘッダーを受け入れる

ポストリクエストでは、@RequestMappingにはheaders = "Accept=application/json"があります。これが実際に何をしているのですか?それが必要なのでしょうか?

答えて

0

プロデュースとコンシューマは、バックエンドメソッドがどのような種類のデータを生成して消費するかを宣言します。 Acceptは、クライアント側のヘッダーで、サーバーにどのタイプのコンテンツを返すかを指示します。

0

producesconsumes性質が@RequestMappingの最初のバージョンでは使用できませんでした(彼らは春3.1で追加されました、私は信じています)。 Acceptヘッダーを明示的に指定するのは、Springが特定のサポートを追加する前に必要なアプローチでした。

0

このヘッダーは、クライアントが受信するデータ形式を示します。予想されるヘッダーを、エンドポイントのheaders(たとえばapplication/json)の値に設定すると、意味的にはproduces属性に設定するのと同じですが、producesはよりスマートです。複数のデータ型(XMLやJSONなど)を生成できる場合、Springは自動的に正しいProducerを選択して、受け取った値に関連する応答を生成します。

0

RESTでは、特定の情報はヘッダーなどで伝えられます。セッションid、paramsなど。Accept、content-typeなどのキーワードは、ヘッダーのコンテンツを特定の形式に制限します。 Accept request-headerフィールドを使用して、応答で受け入れ可能な特定のメディアタイプを指定できます。 Acceptヘッダーは、要求がxml、json、メディアタイプなどの望ましいタイプの小さなセットに特に限定されていることを示すために使用できます。 RequestMappingアノテーションを使用して、1つ以上のURI値が動作する動的URIを処理できますパラメータとして使用します。 ご不明な点があれば、ご連絡ください...

関連する問題