【SpringCloud后端项目报错】java.util.LinkedHashMap cannot be cast to…异常处理
问题代码:
public Object getAjpc(ScreenDto screenDto) {String cgyBh = screenDto.getCgyBh();RestTemplate restTemplate = new RestTemplate();String CGYUrl = baseUrl+"api/v1/cgy?cgyBh={cgyBh}";JSONArray jsonArr = new JSONArray();List<JcVO> jcVOList = restTemplate.getForObject(CGYUrl, ArrayList.class, cgyBh);......
}
异常原因:
在使用RestTemplate调用服务的时候,因为服务提供者返回的是一个List集合,所以期待返回类型写成ArrayList.class,
就报了java.util.LinkedHashMap cannot be cast to…这个异常,
但是调用过程中数据类型的变化是:服务提供者返回的是LIst集合,但是标记了@RequestBody,
所以返回的时候会把List集合转变成json的形式(内部是jackjson技术支持的),
像下面这种写法,
// List<JcVO> jcVOList = restTemplate.getForObject(CGYUrl, ArrayList.class, cgybh);
就会再把提供者返回的json转变成list,
但是这个list跟之前不一样, (一个是jackjson转变的,一个是restTemplate转变的,可能内部机制不一样),
所以遍历集合就会报上面的异常.
改进方法:
接受一个json字符串,再使用阿里巴巴的fastjson将json字符串转变成list集合,
String jsonTemp = restTemplate.getForObject(CGYUrl, String.class, cgyBh);List<JcVO> jcVOList = JSON.parseArray(jsonTemp, JcVO.class);
此文章本人原创,如有问题底部留言,如有转载请标明出处。
--HurryChen
Happy Coding!*\( ^ v ^ )/*
【SpringCloud后端项目报错】java.util.LinkedHashMap cannot be cast to…异常处理相关推荐
- 多种方式解决Java控制台报错 java.util.LinkedHashMap cannot be cast to.....
问题描述 今天在使用RestTemplate调用服务的时候,因为服务提供者返回的是一个List集合,所以在使用消费者调用的时候,restTemplate.getForObject()期待返回的类型直接 ...
- java.util.LinkedHashMap cannot be cast to xxx
java.util.LinkedHashMap cannot be cast to com.entity.Person 使用mybatis, resultMap映射的是实体类Person, 查询出来的 ...
- java.util.LinkedHashMap cannot be cast to Entity
前后端数据传输转换问题-java.util.LinkedHashMap cannot be cast to Entity 问题场景:项目前端使用json传输方式,后台接收后对象变成了LinkedHas ...
- java.util.LinkedHashMap cannot be cast to 问题
今天在做项目时候出现 java.util.LinkedHashMap cannot be cast to xxx 异常.在此记录. 问题背景: 通过RestTemplate调用另一个服务接口,获取Li ...
- 解决java.util.LinkedHashMap cannot be cast to…
此方法用于 解决前端传回list类型后端接收时参数类型发生改变 运行的时候,在遍历的时候,就报了java.util.LinkedHashMap cannot be cast to-这个异常 具体原因不 ...
- 关于java.util.LinkedHashMap cannot be cast to 实体类......问题的出现以及解决办法
在使用RestTemplate调用服务的时候,因为服务提供者返回的是一个List集合,所以在使用消费者调用的时候,restTemplate.getForObject()期待返回的类型直接写成了List ...
- maven引用servlet_解决Maven 项目报错 java.httpservlet和synchronized使用方法
使用java8 的lanmbe表达式时,使用java1.8编译,则会报错 需要在pom.xml的中添加 org.apache.maven.plugins maven-compiler-plugin 2 ...
- 首次使用eclipes运行项目报错“Java.lang.ClassNotFoundException”
首次使用eclipes运行项目报错"Java.lang.ClassNotFoundException" 运行项目时提示: 解决方法: 1.点击菜单-Project-Build Au ...
- Poi读取Excle报错 java.util.zip.ZipException: invalid stored block lengths
一:Poi读取Excle报错 java.util.zip.ZipException: invalid stored block lengths 系统中需要导出excle签收单,excle模板是预设好 ...
最新文章
- mass Framework emitter模块
- c++ c6386 缓冲区 溢出_Office 远程溢出漏洞测试与分析
- 【收藏】vuejs学习笔记github地址
- NeurIPS 2020 | 基于“单目标域样本”的领域自适应方法
- idea jdk编译报错解决办法
- C++新经典——C++从入门到精通
- linux网卡备份还原,CentOS6.x双网卡采用主-备份策略绑定(bond)
- win8计算机无法安装打印机驱动程序,win8.1安装打印机驱动的方法 惠普打印机驱动程序安装教程...
- 分布式光纤管道泄漏监测系统管道泄漏检测技术分析
- Chrome插件(UserScript)开发教程
- ftp免费空间,1种适合小白级别的搭建ftp免费空间的方法
- 论文-Interactive Path Reasoning on Graph for Conversational Recommendation
- IJCAI 2022|边界引导的伪装目标检测模型BGNet
- TestCenter Layer4-7分析
- verilog中pullup和pulldown的用法
- python 几何教学_GEE学习笔记 八十三:【GEE之Python版教程十三】几何图形
- 【Android安全】Soot 静态分析教程
- 从零到一编写一个 spark 程序并提交到集群中运行
- 免费抽奖 | 《阿巴豆》探索未来系列盲盒数字版权作品全网首发!
- 捐赠 200 亿美元,比尔·盖茨势要退出世界富豪榜!
热门文章
- Unity UI -- (7) 创建世界空间UI
- 第1讲:SAS基本介绍
- lass path resource [com/spring/] cannot be resolved to URL because it does not
- 三维人脸实践:基于Face3D的人脸生成、渲染与三维重建 <二>
- 即刻了解血压血糖动态,健康数据轻松掌握,dido E55PROMAX体验
- 面试官:今日头条启动很快,你觉得可能是做了哪些优化?
- 使用TCP协议连续传输大量数据时,是否会丢包,应如何避免
- 1.11 04:网线主管
- 游戏角色配音找对团队的重要性
- 【人脸识别实战二】服务器端设计与实现