本机调试,需要调用其他某个服务,把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的配置,目前还没弄明白,先写到这,后面再看看!