@RequestBody 将HTTP请求正文转换为适合的HttpMessageConverter对象。html
HttpMessageConverter接口,须要开启<mvc:annotation-driven />。
AnnotationMethodHandlerAdapter将会初始化7个转换器,能够经过调用AnnotationMethodHandlerAdapter的getMessageConverts()方法来获取转换器的一个集合 List<HttpMessageConverter>
引用
ByteArrayHttpMessageConverter
StringHttpMessageConverter
ResourceHttpMessageConverter
SourceHttpMessageConverter
XmlAwareFormHttpMessageConverter
Jaxb2RootElementHttpMessageConverter
MappingJacksonHttpMessageConverter(spring 3.x)spring
MappingJackson2HttpMessageConverter(spring 4.x)json
能够理解为,只要有对应协议的解析器,你就能够经过几行配置,几个注解完成协议——对象的转换工做!
PS:Spring默认的json协议解析由Jackson完成。 mvc
例如:app
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>spa