访问SpringMVC项目报这个错误this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers.
意思大约是输出的内容类型不被接受。
在springmvc的配置文件里配置如下内容即可解决。
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter" />
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
<property name="objectMapper">
<bean class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />
</bean>
</property>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
配置charset=UTF-8可以解决乱码问题。
配置objectMapper可以将返回json串中包含的日期类型进行格式化。
注意:@ResponseBody标识的方法要返回Map<String, Object>,不然日期可能不是格式化的。
另外,StringHttpMessageConverter这个Bean必须加在MappingJackson2HttpMessageConverter前面,因为MappingJackson2HttpMessageConverter会自动给返回的字符串加上双引号,StringHttpMessageConverter可以避免自动添加双引号的问题。