天天看點

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就沒有問題了。