就是两个注解的使用@RequestBody和@ResponseBody注解的使用,然后springmvc解析进行转换然后注入
例子:
@RequestMapping("/...") public @ResponseBody Book queryBook(@RequestBody("bookVo") BookVo bookVo,@RequestBody("user") User user){ Book book = new Book(); ... return book; }
@RequestBody是将请求当成json数据处理,注入到后面的java形参,一个该注解仅仅对应后面的那一个参数.value属性的话对应request 中paramter的key,不写的话默认表示后面java对象名
@Response不仅可以放在方法头中间,就像上面一样,也可以放在方法上,如:
@RequestMapping("/...") @ResponseBody public Book queryBook(@RequestBody("bookVo") BookVo bookVo,@RequestBody("user") User user){
...
使用上面的注解需要一些配置:
1、环境准备
springmvc默认用MappingJacksonHttpMessageConverter对json数据进行转换,需要加入jackson的包:
jackson-core-asl-1.9.11.jar
jackson-mapper-asl-1.9.11.jar
2、配置json转换器
在注解适配器中加入messageConverters
<!-- 注解适配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean> </list> </property> </bean>
注意:如果使用<mvc:annotation-driven/>则不用定义上边的内容