openFeign

一:java项目中实现调用的方式:

1.Httpclient
HttpClientApache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient
相比传统 JDK 自带的 URLConnection,提升了易用性和灵活性,使客户端发送 HTTP 请求变得容易,提高了开发的效率。
2.Okhttp
一个处理网络请求的开源项目,是安卓端最火的轻量级框架,由 Square 公司贡献,用于替代HttpUrlConnectionApache HttpClientOkHttp 拥有简洁的 API、高效的性能,并支持多种协议(HTTP/2 和 SPDY)。
3.HttpURLConnection
HttpURLConnectionJava 的标准类,它继承自 URLConnection,可用于向指定网站发送GET 请求、POST 请求。HttpURLConnection 使用比较复杂,不像 HttpClient 那样容易使
用。
4.RestTemplate WebClient
RestTemplateSpring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程 HTTP 服务的方法,能够大大提高客户端的编写效率。

二:什么是feign
1.Feign是Netflix开发的声明式、模板化的HTTP客户端,可以帮助我们更加便捷的在服务与服务之间的调用;
Spring Cloud openfeign对Feign进行了增强,使其支持Spring MVC注解,另外还整合了Ribbon和Nacos,从而使得Feign的使用更加方便;

三:整合
1.pom.xml配置

        <!--openFeign-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

2.加入feign接口,接口都是消费者端的,当然提供者也可以作为消费者
在这里插入图片描述
3.启动类加入注解
在这里插入图片描述
4.使用
在这里插入图片描述
日志配置:
1.自定义日志配置
在这里插入图片描述

 1.若此处使用了@Configuration 表示全局生效
 2.若想单独使用,不需要全局,那么就不要指定这个注解
 
  3.通过源码可以看到日志等级有 4 种,分别是:
  1:NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
  2:BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
  3:HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
  4:FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据。

局部生效配置:
在这里插入图片描述
yml配置:
在这里插入图片描述
feign的超时配置:
自定义的和上方日志配置一样的配置方法
在这里插入图片描述
yml:
在这里插入图片描述
feign的自定义拦截器配置:
在这里插入图片描述
配置类:
在这里插入图片描述
yml:
在这里插入图片描述
契约配置:
Spring Cloud 在 Feign 的基础上做了扩展,使用 Spring MVC 的注解来完成Feign的功能。原生的 Feign 是不支持 Spring MVC 注解的,如果你想在 Spring Cloud 中使用原生的注解方式来定义客户端也是可以的,通过配置契约来改变这个配置,Spring Cloud 中默认的是 SpringMvcContract。
在这里插入图片描述
在这里插入图片描述
yml配置契约:
在这里插入图片描述
源码待更新:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值