问题描述:使用springMVC框架,用@responseBody返回对象的json数据,报出此异常。
部分代码:
@ResponseBody
public Result query(HttpServletRequest request, HttpServletResponse response) {
return new Result();
}
原因:springMVC默认是没有json对象的转换器的,需要手动添加json转换依赖。
解决方案:
手动添加jackson依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
在springMVC配置文件中添加以下配置:
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
</mvc:message-converters>
</mvc:annotation-driven>