`

Spring MVC遇到HttpStatus 406 not acceptable 异常

 
阅读更多

   今天项目突然遇到HTTPstatus406 异常,总所周知,406状态码表示的是,资源已经找到,只是该资源的MIME类型跟请求头的accept不一致。追根朔源,发现原来是请求json数据,返回的却是字符串。尴尬

 以为之前未了修改StringHttpMessageConverter的默认字符集ISO-8859-1为UTF-8所以添加一下内容。

  <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
        <property name="messageConverters">  
             <list>  
                 <bean class = "org.springframework.http.converter.StringHttpMessageConverter">  
                    <property name = "supportedMediaTypes">  
                          <list>  
                              <value>text/html;charset=UTF-8</value>  
                         </list>  
                    </property>  
                 </bean>  
            </list>  
        </property>  
</bean> 

 结果忘记添加其他转换器,导致后台无法转换json数据。

解决办法:

添加MappingJacksonHttpMessageConverter转换器

  <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
        <property name="messageConverters">  
             <list>  
                 <bean class = "org.springframework.http.converter.StringHttpMessageConverter">  
                    <property name = "supportedMediaTypes">  
                          <list>  
                              <value>text/html;charset=UTF-8</value>  
                         </list>  
                    </property>  
                 </bean>  
               <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
            </list>  
        </property>  
</bean> 

    

分享到:
评论

相关推荐

    spring mvc常用包

    这个问题的描述揭示了一个常见的问题,即当尝试从服务器返回一个自定义的对象到客户端时,可能会遇到HTTP状态码406(Not Acceptable)的错误。406错误通常表示服务器无法按照客户端接受的格式提供响应。在Spring MVC...

    四. Spring MVC 3 支持json及 常见错误解决

    1. **406 Not Acceptable**:这个错误通常是因为客户端没有在请求头中指定能接受JSON格式。确保请求头中有`Accept: application/json`。 2. **JSON转换异常**:如果Java对象有自定义类型或者复杂结构,Jackson可能...

    spring mvc教程

    - **406 Not Acceptable**:请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。 - **5xx** 系列:服务器错误,服务器遇到了一个未曾预料的情况,不能完成对请求的处理。 #### 五、Spring MVC ...

    Jquery $.ajax 请求部署在 Tomcat报HTTP 406上解决方法

    在Spring MVC中,你需要定义一个`@ControllerAdvice`或`@ExceptionHandler`来处理全局异常,或者在具体的控制器方法上添加`@ResponseBody`注解,表明返回的结果可以直接序列化为HTTP响应体。 2. **设置Content-Type...

    jackson-core-asl-1.9.13+jackson-mapper-asl-1.9.13jar包.

    然而,有时候这种转换过程中可能会出现错误,比如HTTP状态码406(Not Acceptable)。这个问题通常与服务器端的数据序列化配置有关,而Jackson库是Java世界中广泛使用的JSON处理库,能够帮助我们解决这类问题。本篇将...

    SpringMVC框架中传递JSON数据时前台报406错误解决办法

    然而,在实际操作中,我们可能会遇到一个常见的问题,即HTTP状态码406(Not Acceptable)。这个错误通常意味着服务器生成了响应,但客户端无法接受它,因为响应的格式不在其可接受的类型列表中。本篇文章将深入探讨...

    Spring4.0 MVC请求json数据报406错误的解决方法

    然而,在处理JSON数据请求时,用户可能会遇到HTTP状态码406(Not Acceptable)的错误,这通常意味着服务器无法根据客户端请求的内容特性来产生响应。406错误是由于浏览器或客户端无法接受服务器返回的数据类型,尽管...

    http status

    - **406 Not Acceptable**:服务器无法以请求者希望的格式提供数据。 - **407 Proxy Authentication Required**:此状态码类似于401,但请求者必须通过代理服务器进行认证。 - **408 Request Timeout**:服务器等待...

    Whether mandatory donation is acceptable or not?

    强制性捐赠是否可接受? 强制性捐赠,尤其是针对学生群体,引发了广泛的讨论。在这个问题上,学校要求每位学生向有需要的人捐赠至少10元,虽然其初衷可能是为了筹集资金帮助贫困者,但这种做法是否恰当,需要深入...

    jackson-core-asl-1.9.13及jackson-mapper-asl-1.9.13架包.rar

    可用于Spring MVC框架,spring MVC中返回使用@ResponseBody注解返回时,后台没报错,就控制台显示406 Not Acceptable 原因是缺少jackson的包:jackson-core-asl-1.9.2.jar和jackson-mapper-asl-1.9.2.jar

    elasticsearch-head

    ## Synopsis ... ## Motivation This was created because ElasticSearch 5 removed the ability to run ElasticSearch Head as an Elastic Plugin. This offers an alternative to self-hosting in your own web ...

    jackson-core-asl-1.9.13+jackson-mapper-asl-1.9.13jar包

    然而,在某些情况下,可能会遇到HTTP状态码为406(Not Acceptable)的错误,这通常是由于客户端和服务器之间的内容协商出现问题导致的。 406错误表示客户端无法接受服务器提供的内容类型。在JSON传输场景下,这可能...

    jackson的包:jackson-core-asl-1.9.2.jar和jackson-mapper-asl-1.9.2.jar

    spring MVC中返回使用@ResponseBody注解返回时,后台没报错,就控制台显示406 Not Acceptable 原因是缺少jackson的包:jackson-core-asl-1.9.2.jar和jackson-mapper-asl-1.9.2.jar

    PyPI 官网下载 | django-extra-exceptions-1.0.0.tar.gz

    "django-extra-exceptions"扩展了Django的异常体系,提供了一些新的异常类,如`Http404NotAcceptable`(HTTP 406 Not Acceptable)、`PermissionDenied403`(HTTP 403 Forbidden)、`InvalidToken`(用于处理令牌...

    jsp 异常错误详解

    **406 Not Acceptable** - 无法使用请求的内容特性响应请求的网页。 - 服务器只能生成不符合客户端所需要的内容类型。 - 例如,客户端请求`text/html`,而服务器只能提供`application/json`。 **407 Proxy ...

    JSP页面报错列表查询

    406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容(HTTP 1.1新)。 407 Proxy Authentication Required 类似于401,表示客户必须先经过代理服务器的授权。(HTTP 1.1新) ...

    HTTP错误大全

    - **406 Not Acceptable**:表示客户端请求的格式不受服务器支持。 - **407 Proxy Authentication Required**:表示客户端需要通过代理服务器进行认证。 - **410 Gone**:表示请求的资源已经永久性地移除了。 - **...

    Resizes Images to sizes acceptable by half life for transiti

    Resizes Images to sizes acceptable by half life for transitioning into pldecal.wad files This code is incomplete... A Majority of the programming has been accomplished.

    Gel4y-Mini-Shell-Backdoor:可以绕过禁止错误403和禁止406自动删除内容的后门外壳

    Gel4y-Mini-Shell-Backdoor是一款针对Web服务器的安全漏洞利用工具,主要用于绕过服务器的403 Forbidden和406 Not Acceptable错误,从而实现非法访问和控制。这款后门程序小巧且功能强大,对网络安全构成了严重威胁...

    406少的jar

    标题提到的"406少的jar"可能指的是某个项目或应用中缺少了某些必要的`JAR`依赖,导致出现错误406(Not Acceptable)。在HTTP状态码中,406表示服务器无法提供与请求头中Accept字段相符的内容类型。 描述中提到了三...

Global site tag (gtag.js) - Google Analytics