springmvc 请求和响应的json和Object的转换

就是两个注解的使用@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/>则不用定义上边的内容

原文地址:https://www.cnblogs.com/aigeileshei/p/6293863.html