1.问题
线上发现的bug,查了半天,服务器日志报错是这个样子的。
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.util.List
报错位置是:

2.分析
一度以为确实是返回值的问题,查了半天,网上也有一堆关于这个错误的资料,实践发现并不符合我这里的情况。
查了被调用模块发现,被调用模块也报错了:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
报错位置是:


调用的时候传入的明明是个Long类型,FeignClient调用过程中将其转成了String,如上图。
只有先获取转型成String,再Long.valueOf()转一下了。

本文解决了一个线上Bug,该Bug出现在SpringCloud使用Feign远程调用服务时,将Map中的Long类型参数错误地转换为String类型,导致后续处理失败。
2542

被折叠的 条评论
为什么被折叠?



