首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以在没有ribbon的情况下使用@FeignClient吗?

可以在没有ribbon的情况下使用@FeignClient吗?
EN

Stack Overflow用户
提问于 2019-08-29 15:01:59
回答 1查看 3.3K关注 0票数 4

我想使用@FeignClient(url=...),让它直接转到给定的url,而不是从ribbon配置中选择主机。

我知道在spring-cloud feign默认情况下会与ribbon和eureka一起出现。

根据这一点:https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-ribbon.html#spring-cloud-ribbon-without-eureka可以禁用eureka并为ribbon提供硬编码的主机列表,例如:

代码语言:javascript
复制
${serviceId}:
  ribbon:
    listOfServers: ${host}

根据这一点:https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html可以为feign提供一个明确的url,例如:

代码语言:javascript
复制
@FeignClient(name = "${feign.name}", url = "${feign.url}")
public interface StoreClient {
    //..
}

所以我有点困惑FeignClient到底会用什么:提供的url还是ribbon配置中的主机?

我希望一些道具也会为feign禁用ribbon,因为如果feign只有一个url,那么负载均衡的意义是什么?

Spring-cloud发布系列- Camden.SR2

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-08 22:25:47

是的,你可以在没有Ribbon的情况下使用Feign,你所需要做的就是在你的Feign Java接口类中指定基本url。

并且您的接口签名应该具有完整的url端点。

下面显示了一个示例。

代码语言:javascript
复制
@FeignClient(url = "http://someurl")
public interface MyInterface {

    @GetMapping("path/to/endpoint")
    MyObject get();

}

上面的示例代码显示了如何向http://someurl/path/to/endpoint发送GET请求

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57704723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档