先说一下我遇到的问题,服务A去远程调用服务B,返回的数据总是为null,但是服务B的接口测试是正常的,能正常返回数据,后来我发现远程调用出了问题,走了我的降级方法,降级方法里返回的是null
于是经过我的各种查阅资料和询问帮助,总结出了以下几点可能出现问题的原因:
1.首先要保证你的controller方法地址和你的feign的地址要一样
2.调用方的主启动类上加注解
该注解默认扫描的位置是该启动类所在的包以及子包,要确保能扫描到feign!
3.时间问题(也是本人遇到的....)
检查完其他地方没有问题以后,我重启服务,发现还是调不通,一直走降级方法,返回null值,其实这里边不存在任何问题,原因直接上图:
重启完微服务A、B以后,服务B需要先注册到nacos注册中心,然后服务A需要到nacos注册中心拉取到服务B,这样才能通过OpenFeign调通,这里的等待时间稍长一些,可能会有5s左右!
如果服务A还没有从nacos拉取到服务B,那必然会调用失败,走降级方法。多等待一会就好了....
我就是重启完服务以后就立即去测试,导致一直调不通,一直失败,就以为是哪里出了问题,搞了半天是这个问题............
希望能够帮助到各位!借此记录,立文避坑!