java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > feign name指定服务调用无效

feign name指定服务调用无效问题及解决

作者:二掌柜,酒来!

文章主要介绍了FeignClient注解的常用属性,并通过一个具体的例子说明了为什么某个Feign调用需要使用url指定路径才能访问,最后,文章给出了解决办法,即使用path属性指定前缀

背景

在做三方的外接接口的时候,出现了非常奇怪的一个问题。

某个feign调用,必须使用 url 指定路径才能做到访问,因为明明使用name属性就可以指定服务了。

这就非常奇怪了~~~~

@FeignClient(name = "outerService", url = "${third.url}",configuration = FeignConfig.class, fallbackFactory = OuterServiceFallbackFactory.class)
// @FeignClient(value = "outerService",configuration = FeignConfig.class, fallbackFactory = OuterServiceFallbackFactory.class, decode404 = true)
@Service
public interface outerServiceClientFeign extends BafooCommonApi {

}

涨知识了

声明接口时在代码中通过@Resource注入容器之后即可使用。

@FeignClient注解的常用属性如下:

原因

三方服务的配置文件里面加上了,前缀路径

 servlet:
    context-path: /outer

这就导致,feign调用时,拼接的路径少了 一个前缀 /outer

解决办法

使用 path属性,指定前缀。

@FeignClient(value = "outerService",path = "/outer",configuration = FeignConfig.class, fallbackFactory = OuterServiceFallbackFactory.class, decode404 = true)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文