1、Feign简介
Feign是一个声明式HTTP客户端。主要功能是实现声明式的服务调用。
声明式调用:就像调用本地方法一样调用远程方法,开发者感知不到这是调用了远程方法,以及调用了HTTP请求
2、RestTemplate&Feign
在SpringCloud中,默认使用HTTP进行微服务之间的通信,主要方式以下两种:
- RestTemplate
- Feign
RestTemplate方式存在的问题
示例代码:
通过上图中的代码可以看出:
- 代码的可读性差
- 编码风格不统一
- URL、参数复杂,可维护性差
- …
而今天将学习Feign将代替RestTemplate解决上面的问题
2、Feign的使用
1.引入Feign的依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.开启Feign的功能
启动类上添加注解**@EnableFeignClients**
3.编写FeignClient接口
解释说明:Feign底层是通过动态代理实现的。
- 只要对接口进行了**@FeignClient注解的声明,Feign就会针对这个接口创建一个动态代理对象**,调用这个接口,其实就是调用了接口的代理对象
- 然后代理对象就是根据