Spring MVC遇到HttpStatus 406 not acceptable 错误
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>