对http 406 code的解释是这样的:
406 - Not Acceptable
The 406 status code means that, although the server understood and processed the request, the response is of a form the client cannot understand. A client sends, as part of a request, headers indicating what types of data it can use, and a 406 error is returned when the response is of a type not i that list.
request请求header的Accept
Accept:
application/json, text/javascript, */*; q=0.01
但response响应header是Content-Type:text/html
通过万能的stackoverflow解决了问题,不只是需要加pom
org.codehaus.jackson
jackson-core-asl
${jackson.version}
org.codehaus.jackson
jackson-mapper-asl
${jackson.version}
com.fasterxml.jackson.core
jackson-core
2.4.3
com.fasterxml.jackson.core
jackson-databind
2.4.3
还需要在applicationContext.xml中增加
content-negotiation-manager="contentNegotiationManager" />
class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
请求200正常的截图:
stackoverflow地址:http://stackoverflow.com/questions/12865093/spring-3-x-json-status-406-characteristics-not-acceptable-according-to-the-requ