You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3.1.4中Feign SSL配置下拦截器失效问题求助

问题解决:Spring Boot 3.1.4 + Feign SSL配置下拦截器不生效

问题原因

在Spring Cloud OpenFeign 4.x(适配Spring Boot 3.x)中,直接使用原生Feign.builder()创建全局Feign.Builder Bean时,会绕过Spring Cloud的自动配置逻辑,无法加载@FeignClient指定的configuration类中的自定义拦截器。而Spring Boot 2.7对应的Feign版本中,自动配置会自动合并客户端配置到全局Builder,因此不会出现该问题。

解决方案

方案1:改用Spring Cloud提供的SpringFeign.builder()

将你的Feign.Builder Bean替换为Spring Cloud增强版的Builder,它会自动集成Spring上下文,加载客户端配置:

@Bean
public Feign.Builder feignBuilder() {
    HostnameVerifier hostnameVerifier = (hostname, session) -> true;
    return SpringFeign.builder()
            .client(new Client.Default(createSocketFactory(), hostnameVerifier));
}

SpringFeign.builder()会自动识别每个@FeignClient的配置类,将其中的RequestInterceptor注入到对应的Feign客户端中。

方案2:直接定义全局Feign Client Bean(推荐)

如果仅需配置SSL相关的客户端,无需自定义Builder的其他属性,直接定义Client Bean即可,保留默认的SpringFeign自动配置:

@Bean
public Client feignClient() {
    HostnameVerifier hostnameVerifier = (hostname, session) -> true;
    return new Client.Default(createSocketFactory(), hostnameVerifier);
}

这种方式下,Feign的自动配置会使用你定义的SSL Client,同时正常加载每个@FeignClient配置类中的拦截器。

验证

修改后重新启动服务,调用FooFeignClient的接口,即可触发FooConfiguration中定义的拦截器逻辑。

内容的提问来源于stack exchange,提问作者andrei_hryharenka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 14:25:21