java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.fangwenjun.common.To.SkuHasStockVo
at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320) ~[na:1.8.0_191]
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) ~[na:1.8.0_191]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[na:1.8.0_191]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_191]
原因:
服务提供者在返回数据时, 返回的结果为list集合, 接口使用@ResponseBody 注解响应, 会把list集合转换为json格式响应,默认使用的是jackjson,.
在服务消费者接收响应时,使用的应该是另一种json格式,导致接收的数据转换为list时不能使用,遍历或者转换会报错,
解决方法:
使用fastjson 工具类把集合转换为字符串格式,然后在转换成集合就能使用了.
参考博客链接:
https://blog.csdn.net/weixin_44142032/article/details/105682967