前端控制台返回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,未解决)

java web项目406错误的解决

spring mvc 不返回 json 内容 - 错误 406

WEB API OdataController POST 调用返回 406 Not Acceptable

访问taotao-portal 中controller中返回taotaoresult 测试httppost方法 出现406错误

如何获取返回 Http 状态代码 406 或 400 的 API 的响应 JSON