史上最简单的openfeign使用例子,浅例子、深理解

前言:openfeign看起来高大上,微服务的框架组件,难理解。实际本文可以通过小例子带你0基础进入,并且比较深了解它的原理。下面通过使用小例子、调用过程分析、openfeign的启动注册过程分析讲解。

一 openfeign的使用

1 pom.xml新增依赖

<!-- springboot -->

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.4.3</version>

<relativePath/>

</parent>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-openfeign</artifactId>

<version>3.0.3</version>

</dependency>

<dependency>

<groupId>io.github.openfeign</groupId>

<artifactId>feign-okhttp</artifactId>

<version>11.1</version>

</dependency>

<dependency>

<groupId>io.github.openfeign</groupId>

<artifactId>feign-httpclient</artifactId>

<version>11.1</version>

</dependency>

<dependency>

<groupId>io.github.openfeign</groupId>

<artifactId>feign-gson</artifactId>

<version>11.1</version>

</dependency>

<dependency>

<groupId>io.github.openfeign</groupId>

<artifactId>feign-slf4j</artifactId>

<version>11.1</version>

</dependency>

2 开启openfeign


3 根据目标地址创建feign客户端接口(实际项目中别人做内部接口时都会提供对应client接口)

目标地址:https://wis.qq.com/weather/common?source=pc&weather_type=observe|forecast_24h|air&province=湖南&city=长沙

创建接口:

调用接口:

4 查看接口调用

5 通过小例子,你可以简单理解openfeign就是HtttpUtils简写方式,通过接口完成http接口封装和调用

二 调用过程分析

1 openfeign是通过什么完成http请求呢?

2 openfeign的接口实现-动态代理实现过程

通过上一步调试,可以发现openfeign实际通过JDK动态代理类ReflectiveFeign完成调用。ReflectiveFeign里注入了http工具类,client,可以是httpclient、okhttp或JDK自带。下面在启动过程分析。

三 openfeign启动过程、注册过程分析(未完待续)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容