解决springMVC中restful的POST请求时接受json对象转换pojo对象失败问题

来源:互联网 发布:java图形界面设计工具 编辑:程序博客网 时间:2024/05/29 15:08

我翻看源码发现Spring已经提供了HttpMessageConverter转换器,而且默认情况下是加载了 MappingJackson2HttpMessageConverter(json ~object转换的类)。只需要配置@RequestBody Greeting gree 即可使用。


一开始我认为是接不到传过来的json对象,测试过后发现问题是无法把json对象转换为pojo对象,定位好问题后我就开始总结原因发现可能是两种情况

1、spring默认没有加载MappingJackson2HttpMessageConverter(不知道具体加载方式)

2、MappingJackson2HttpMessageConverter加载后不能工作(不知道不工作原因)


一些列测试后 最后结果是缺少依赖包 导入ackson-mapper-asl和jackson-core-asl就行了

注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON。由于Spring是采用对JSON进行了封装的jackson来生成JSON和返回给客户端,所以这里需要添加jackson的相关包。项目的pom.xml配置如下:3

  1. <dependency>  
  2.             <groupId>org.codehaus.jackson</groupId>  
  3.             <artifactId>jackson-mapper-asl</artifactId>  
  4.             <version>1.4.2</version>  
  5.         </dependency>  
  6.         <dependency>  
  7.             <groupId>org.codehaus.jackson</groupId>  
  8.             <artifactId>jackson-core-asl</artifactId>  
  9.             <version>1.4.2</version>  
  10.         </dependency>  

,再运行可以了。绕了一圈终于把问题解决了!

阅读全文
0 0