feignClient 支持ssl的两种写法

最近在开发项目过程中,使用feign调用https 域名的接口方法。之前在使用httpclient okhttp 这种客户端的时候就比较简单。还没研究过feign的这个该怎么配置。于是翻了下源码,发现如果使用okhttp这个客户端,代码比较简洁。
@Bean
        public Feign okHttpClient(){
            okhttp3.OkHttpClient.Builder builder = new okhttp3.OkHttpClient.Builder();
            OkHttpClient build = new DefaultOkHttpClientFactory(builder).createBuilder(true).build();
            return Feign.builder().client(new feign.okhttp.OkHttpClient(build)).build();
        }
因为DefaultOkHttpClientFactory中已经为我们实现了绕过证书验证的方法,如图

在这里插入图片描述
如果你使用的是httpclient客户端的话,可以像下面这么写

@Bean
       public Client skipSSLClient() {
           try {
               return Optional.of(
                       new SSLContextBuilder()
                               .loadTrustMaterial(null, (chain, authType) -> true)
                               .build()
               ).map(s ->
                       new Client.Default(
                               s.getSocketFactory(),
                               new NoopHostnameVerifier())
               ).get();
           } catch (Exception e) {
               return new Client.Default(null, null);
           }
       }

OK 到此结束。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值