目录
1.背景
自己使用IDEA的maven搭建一套Spring+SpringMVC+Mybatis+Mysql的环境,结果运行程序时,适用@ResponseBody注解进行返回对象的json数据时出现了:java.lang.IllegalArgumentException: No converter found for return value of type: class com.sail.common.JsonData异常,截图如下:
2.测试环境
1.jdk ----------1.8
2.maven -----3.3.9
3.spring ------4.3.10.RELEASE
4.springmvc 4.3.10.RELEASE
5.mybatis ----3.4.0
3.分析原因及解决
-
springmvc默认是没有对象转换成json的转换器的,需要手动添加jackson依赖
解决:检查pom.xml中是否添加了依赖
<dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-guava</artifactId> <version>2.5.3</version> </dependency>
- springmvc配置文件中是否注入了转换的类
解决:检查是否添加了如下代码
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" />
- 确保相应的对象有对应的set 和 get函数,否则也会报错