gpt4 book ai didi

spring-cloud - 如何禁用功能区并在 Spring Cloud 中仅使用 FeignClient

转载 作者:行者123 更新时间:2023-12-04 04:10:16 25 4
gpt4 key购买 nike

我知道我们可以通过提供 url Ex 来强制 FeignClient 使用 OkHttp 而不是 Ribbon。 @FeignClient(url="serviceId", name="serviceId")
即使只提供了名称,我也希望使用 OkHttpClient。前任。 @FeignClient(name="serviceId")
根据 spring cloud 文档“如果启用 Ribbon,则它是 LoadBalancerFeignClient,否则使用默认的 feign 客户端。”

如何禁用功能区以便使用默认的伪装客户端。

最佳答案

我有同样的问题,但我的设置有点不同,我没有让它在我的情况下工作(使用 spring-cloud-starter-openfeign 和 spring mvc 样式注释)。

仅供引用:我需要一个带有 SSLSocketFactory 的自定义客户端,最后只为客户端创建了 bean 并将 URL 保留在 @FeignClient 上。

 @Bean
public Client myClient() {
return new Client.Default(getSSLSocketFactory(), new NoopHostnameVerifier());
}

但是,我们确实有使用 spring-cloud-starter-feign 的项目,其中注释中未提供 URL。不确定下面的配置是否完整(我没有设置它)但它可能会指向正确的方向......

依赖项
compile("org.springframework.cloud:spring-cloud-starter-feign") {
exclude group: 'org.springframework.cloud', module: 'spring-cloud-starter-ribbon'
exclude group: 'org.springframework.cloud', module: 'spring-cloud-starter-archaius'
}

配置
@Configuration
@Import(FeignClientsConfiguration.class) // org.springframework.cloud.netflix.feign.FeignClientsConfiguration
public class MyConfig {

@Value("${client.url}")
private String url;

@Bean
public MyClient myClient(final Decoder decoder, final Encoder encoder, final Client client) {
return Feign.builder().client(client)
.encoder(encoder)
.decoder(decoder)
.target(MyClient.class, url);
}
}

关于spring-cloud - 如何禁用功能区并在 Spring Cloud 中仅使用 FeignClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49754309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com