dragron

Idea中:No converter found for return value of type: class java.util.ArrayList:Json格式转换问题

1.在搞SSM框架的时候,前端发送请求后,显示如下错误。

@ResponseBody注解进行返回List<对象>的json数据时出现

nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList错误,

2.前后调用场景:

  2.1mvc配置文件设置:fastJson,没问题

  2.2 Controller层的注解没问题

  2.3注解路径扫描检查,确认没问题。

  2.4pom中的依赖是父工程管理的,貌似没问题(最后证明问题出在了依赖上)

 

3.网上查了这个问题,大部分解释都是:数据以list集合返回后,由AJax解析是错误,即数据没有转化成Json格式

 也可能会以文件的格式下载,而不能正常解析到在浏览器中。

 检查了依赖,发现果然是父工程中依赖版本没有添加。为了保险,把依赖版本直接放入子工程中,结果就正常解析了。

 

 <!--json相关的依赖-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.7.4</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.7.4</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.7.4</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.28</version>
        </dependency>

 

解析正常:

 

可参考一下文档:https://www.cnblogs.com/hafiz/p/5812873.html

4. 总结:依赖问题是开发过程中常遇到的,比较坑的问题。很容易把注意力放在代码逻辑上。

    所以好的编码习惯,规范和统一的依赖管理很重要。

posted on 2019-03-25 16:09  dragron  阅读(573)  评论(0编辑  收藏  举报

导航