本机调试,需要调用其他某个服务,把FeignClient的url设置为测试环境的gateway地址,像如下这样:

可是却报如下异常:

debug到该client
![]()
对这个异常,在度娘上搜索,很多都说是因为被调用接口的@RequestParam参数的设置有问题。
但我觉得不是这样,至少对于这里的这个案例不是这样,因为后面我用其他方式修改了该Client后接口其实是可以调通的。
又去google上去搜,也没有找到可以合理解决或者解释该问题的答案,只能这样先放一放,放弃url的配置,而是采用name/path来配置OpenFeign.
几次调试后发现,其实只需要设置name(包括path)字段即可。
![]()
这样在cloud内部,调用的url是这样:
![]()
并且是可以调用成功的。
但上面这样修改有个问题,因为这个gateway在我这边项目里,也就是指微服务的网关id,因为我们希望所有请求都是通过gateway来转发。但如果所有的OpenFeign接口的name字段配置为gateway,不用说,spring肯定会提示IOC错误。
所以就改成了这样
![]()
Cloud生成的url:
![]()
说明上面这两种修改方式产生的结果是一样的。
另外,也可以使用path来配置更复杂的url层级。
最后,对于url的配置,目前还没弄明白,先写到这,后面再看看!
本文探讨了在微服务架构中使用FeignClient进行服务间调用时遇到的问题,特别是关于URL配置的异常。作者分享了调试过程中的发现,包括使用name/path配置替代URL配置的方法,以及由此引发的IOC错误解决方案。文章还提到了复杂URL层级的path配置技巧。
1023

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



