前端控制台返回406错误解决方法
Posted 向上的栗子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端控制台返回406错误解决方法相关的知识,希望对你有一定的参考价值。
问题描述:
406 Not Acceptable,message:description The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers ()错误。(说是指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容)。
前后台代码经过排查都没有问题,本人在Spring mvc控制层用到了@ResponseBody标注,以便返回的数据为json格式的数据,到前端JS中用。而前端却需要text/html;charset=UTF-8这样的格式,导致的问题。
解决办法如下:
1.需要使用jackson,在pom.xml中引入jackson的依赖
<!-- jackson start --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-lgpl</artifactId> <version>1.9.12</version> </dependency> <!-- jackson end -->
2. spring-servlet.xml文件中配置转换的bean
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <util:list id="beanList"> <ref bean="mappingJacksonHttpMessageConverter" /> </util:list> </property> </bean> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean>
3.spring-servlet.xml文件的头部声明部分加入如下三行即可(因为util:list)
xmlns:util="http://www.springframework.org/schema/util" http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
以上是关于前端控制台返回406错误解决方法的主要内容,如果未能解决你的问题,请参考以下文章
Spring MVC - 将对象返回为@ResponseBody 时出现问题(著名的错误 406,未解决)
spring mvc 不返回 json 内容 - 错误 406
WEB API OdataController POST 调用返回 406 Not Acceptable
访问taotao-portal 中controller中返回taotaoresult 测试httppost方法 出现406错误