响应json数据给前端报错No converter for [xxx]with preset Content-Type 'null']

2,311 阅读1分钟

报错根本原因

找不到返回值类型的转换器

报错直接原因一:

在maven的pox.xml中只引入Json的依赖时,只引入了“jackson-core”;没有引入 “jackson-databind”
  • 解决方案:引入jackson-databind依赖
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.9.0</version>
</dependency>

报错直接原因二:

FastJson对应的HttpMessageConverter没有被自动注册,所以无法进行MapJson的转换。
  • 解决方案:在spring-mvc.xml中手动配置jackson的HttpMessgaeConverter

报错直接原因三:

为了解决响应中文乱码问题在RequestMapping中加入了“produces = "text/html;charset=utf-8" ”

  • 解决方案一:将"text/html;charset=utf-8" 改为"application/json;charset=utf-8"

  • 解决方案二:直接将“produces = "text/html;charset=utf-8" ”删除