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

我翻看源码发现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>  

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值