一、问题描述
在业务层进行 Feign 调用:
Feign 对应的方法:
然后访问路径:
可以看到,响应数据是 500 状态码,Feign 调用出现了问题,再看控制台的报错:
主要原因是 java.lang.String cannot be cast to java.lang.Integer,但是这个 decrMap ,从开篇第一张图可以看到,value 确实是 Integer 啊。
进行debug, 发现 在业务层调用 feign 之前,参数还是 Integer 的:
但是用 Feign 调用后,就都变成 String 了(想想也是,毕竟 Feign 走的是 Http 协议,参数是 String 才是符合常理的,能识别到 Map 类型就不错了,Map 的 Value 应当都是按照 String 处理的)
二、解决方法
涉及 Feign 调用,Map 的 key 和 value 都建议使用 String 类型,到了具体的方法中再转化成数值类型。
版权声明:本文为weixin_41750142原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。