Spring MVC遇到HttpStatus 406 not acceptable 错误

Spring MVC遇到HttpStatus 406 not acceptable 异常

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

 以为之前未了修改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>