为实现浏览器与控制器类之间的 JSON 数据交互,Spring MVC 提供了 MappingJackson2HttpMessageConverter 实现类默认处理 JSON 格式请求响应。该实现类利用 Jackson 开源包读写 JSON 数据,将 Java 对象转换为 JSON 对象和 XML 文档,同时也可以将 JSON 对象和 XML 文档转换为 Java 对象。
在使用注解开发时需要用到两个重要的 JSON 格式转换注解,分别是 @RequestBody 和 @ResponseBody。
- @RequestBody:用于将请求体中的数据绑定到方法的形参中,该注解应用在方法的形参上。
- @ResponseBody:用于直接返回 return 对象,该注解应用在方法上。
1、引入jackson
项目依赖于: jackson-annotations-2.12.0.jar jackson-core-2.12.0.jar jackson-databind-2.12.0.jar
在pom.xml文件中只需要加入下面的依赖 其它两个会自动下载
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.0</version>
</dependency>2、编写POJO
public class Good {
String name;
double price;
int num;
....省略geter/seter方法
}3、编写Controller
3.1、javabean接收
@Controller
public class GoodController {
@RequestMapping(value = "/good/save.do",method={RequestMethod.POST})
@ResponseBody
public Good save(@RequestBody Good good){
System.out.println(good.toString());
return good;
}
}3.2、Map接收
@RequestMapping(value = "/good/save.do",method={RequestMethod.POST})
@ResponseBody
public Map test (@RequestBody Map map){
Set<Map.Entry<String, Object>> set=map.entrySet();;
Iterator<Map.Entry<String, Object>> it=set.iterator();
while(it.hasNext()){
Map.Entry<String, Object> entry=it.next();
System.out.println(entry.getKey()+"=="+entry.getValue());
}
return map;
}4、访问测试
4.1、设置基本请求参数
在ApiDebug中新建一个请求,设置名称、请求方法 、请求地址和请求头: contentType: application/json;charset:utf-8; 如下:

4.2 、设置请求参数,发送请求

版权声明:本文为weixin_57176230原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。