在Spring MVC Showcase示例中(可从STS仪表板下载)我有以下情况。
在我看来,我有以下链接:
<li>
<a id="responseCharsetProduce" class="textLink" href="<c:url value="/response/charset/produce" />">@ResponseBody (UTF-8 charset produced)</a>
</li>
此链接会向网址生成HTTP请求:“/ response / charset / produce”
好的,这个HTTP请求由控制器类的以下方法处理(我的控制器类本身用@RequestMapping注释(value =“/ response”,method = RequestMethod.GET,所以这个方法处理了这个请求):< / p>
@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 []生成映射请求的可生成媒体类型,缩小主映射。所以似乎只生成说明方法生成的媒体类型...我的具体情况说控制器方法返回的媒体类型是文本值...
但在其他地方阅读时,我发现produce属性排除了HTTP请求,其中Accepts标头与指定的媒体类型不兼容......
那么......究竟在@RequestMapping中产生什么属性?
答案 0 :(得分:3)
“生成”条件表示该方法将返回的内容。如果客户端没有指定Accept标头,那么没有什么可以阻止该方法返回它可能的内容。
博客作者对您的问题有一些评论,请参阅以下网址。
http://spring.io/blog/2011/06/13/spring-3-1-m2-spring-mvc-enhancements