Spring MVC Showcase の例 (STS ダッシュボードからダウンロード可能) では、次の状況があります。
私の見解では、次のリンクがあります。
<li>
<a id="responseCharsetProduce" class="textLink" href="<c:url value="/response/charset/produce" />">@ResponseBody (UTF-8 charset produced)</a>
</li>
このリンクは、URL への HTTP リクエストを生成します: "/response/charset/produce"
OK、この HTTP リクエストはコントローラー クラスの次のメソッドによって処理されます (私のコントローラー クラス自体に @RequestMapping(value="/response", method=RequestMethod.GET という注釈が付けられているため、このメソッドがこのリクエストを処理しました)。
@RequestMapping(value="/charset/produce", produces="text/plain;charset=UTF-8")
public @ResponseBody String responseProducesConditionCharset() {
return "\u3053\u3093\u306b\u3061\u306f\u4e16\u754c\uff01 (\"Hello world!\" in Japanese)";
}
私の疑問は、 @RequestMapping アノテーション内のプロデュース要素に関連しています...
String[]は、マッピングされたリクエストの生成可能なメディア タイプを生成し、プライマリ マッピングを絞り込みます。したがって、メソッドによって生成されるメディアタイプのみを生成するようです...私の特定のケースでは、コントローラーメソッドによって返されるメディアタイプはテキスト値であると言います...
しかし、代わりに他の場所を読むと、プロデュース属性が、指定されたメディアタイプと互換性のない Accepts ヘッダーを持つ HTTP リクエストを除外していることがわかりました...
では、@RequestMapping 内で正確に属性を生成するのは何ですか?