Spring MVC 配置HttpMessageConverter和Conversion-service的问题

最近开始学习spring mvc,配置HttpMessageConverter来转换json和xml,以及配置conversion-service来格式化数据,这个两个配置总不能都测试通过,要么是第一个转换json和xml出错,格式化数据通过,那么就是第一个通过,第二个就不能通过 
下面是httpMessageConverter测试通过而conversion-service测试不通过的相关配置 

Xml代码 

 收藏代码

  1. <bean id="conversion-service" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"/>  
  2.   
  3.     <bean  
  4.         class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"  
  5.         p:messageConverters-ref="messageConverters" />  
  6.   
  7.     <util:list id="messageConverters">  
  8.         <bean  
  9.             class="org.springframework.http.converter.BufferedImageHttpMessageConverter" />  
  10.         <bean  
  11.             class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />  
  12.         <bean class="org.springframework.http.converter.StringHttpMessageConverter" />  
  13.         <bean  
  14.             class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter" />  
  15.         <bean  
  16.             class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter"  
  17.             p:marshaller-ref="xmlMarshaller" p:unmarshaller-ref="xmlMarshaller">  
  18.         </bean>  
  19.         <bean  
  20.             class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />  
  21.     </util:list>  
  22.       
  23.     <mvc:annotation-driven conversion-service="conversion-service"/>  


如果把<mvc:annotation-driven>这个行配置提前到配置RequestMappingHandlerAdapter前则出现格式数据化可以通过,而HttpMessageConverter无法转换json和xml 

在转换json时,debug信息: 
2014-06-09 11:59:29,289 DEBUG (org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor:135) - Reading [class com.example.User] as "application/json" using [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@f0411ba] 


2014-06-09 11:59:29,290 DEBUG (org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver:134) - Resolving exception from handler [public org.springframework.http.ResponseEntity<com.example.User> com.example.web.UserController.handle51(org.springframework.http.HttpEntity<com.example.User>)]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation 

第一条信息说明spring框架已经找到了对应的HttpMessageConverter,也即是转换json使用的MappingJackson2HttpMessageConverter,但是第二条信息却报了类型无法接受的一场,我也在网上查过,大多说这是由于没有引入jackson依赖,但是我已经引入了jackson所需的依赖,不然第一种配置应该不会运行通过。 

我也试过其他几种配置,例如使用<mvc>标签直接配置HttpMessageConverter,但是仍存在这两种配置无法同时测试通过 


问题补充:我使用的是spring 4

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值