日期:2014-05-16  浏览次数:20428 次

spring @ResponseBody 返回json格式问题

错误:

The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers ().

?

网上一般的解决方法:

?

首先引入

jackson-core-asl-1.6.4.jar

jackson-mapper-asl-1.6.4.jar

如果是:

<mvc:annotation-driven />

那么则没有问题

?

如果把配置换成

?

?

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />

?

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

则会报异常。

那么需要补充配置

?

?

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

?? ?<property name="messageConverters">

?? ?<list>

?? ??<ref bean="jsonHttpMessageConverter"/>

?? ?</list>

?? ?</property>

</bean>

<bean id="jsonHttpMessageConverter"?

? ? ? ?class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>

?

没错 ,如果缺少上面的jar包,会有这个问题。但是如果加入了jar包还是有这个问题,则考虑换个版本吧。

?

我项目中原来是spring-3.0.5 , jackson1.5。6这个错误一直存在,换成1.9.11就没有问题了。