什么是 Feign?
什么是 Feign?
回答重点
Feign 是一个声明式的Web服务客户端。
所谓的声明式就是指不需要编写复杂的关于 Http 请求的东西。
只需要声明一个一个接口,然后在这个接口上添加一些注解,这些注解包括了请求的方法(如GET和POST)、请求的URL等信息
Feign 在运行时通过注解和接口上定义的内容来动态构造和发送 Http 请求。
所以使用 Feign,开发者只需要定义服务接口并通过注解指明服务名和参数等信息,Feign 就能自动完成 Http 请求的构建、发送和结果处理。
Feign 也是 Spring Cloud Netflix 组件之一,结合Spring Cloud 的服务注册和发现、负载均衡等功能,能够让服务间的调用变得更加方便。
总体来说,Feign 的主要特点有:
- 声明式的服务客户端,通过 Java 接口和注解构建服务客户端,简化了 Http 调用的使用过程,无需手动构建 HTTP 请求
- 很好地融入了 SpringCloud 生态,可以使用 SpringCloud负载均衡、服务熔断等能力
扩展内容
为了更好地理解上述内容,这里对上述内容进行一部分扩展讲解
为什么要有Feign
在项目中,我们经常需要调用第三方提供的 Http 接口,此时我们就可以使用一些 Http 框架来实现,比如 HttpClient
1 | public class HttpClientDemo { |
如果项目中只有一两个这种第三方接口这样写还行,但是一旦这种三方接口过多的话,每次都得这样组装参数,发送请求,写一堆同样的代码,就显然很麻烦了。
所以为了简化发送 Http 请求的开发,减少重复代码,Feign 就出现了。
Feign 是一个声明式的 Http 框架,当你需要调用 Http 接口时,你需要声明一个接口,加一些注解就可以了
而像组装参数、发送Http请求等重复性的工作都交给 Feign 来完成。
Feign 和 OpenFeign 的区别
Comments