一、什么是Feign
Feign旨在使编写Java Htpp客户端变得更容易,在Spring Cloud中,使用Feign非常简单——创建一个接口,并在接口上添加注解即可。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。
Feign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端
Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。
Feign的使用方式是:使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务
Feign本身不支持Spring MVC的注解,它有一套自己的注解
OpenFeign是Spring Cloud 在Feign的基础上支持了Spring MVC的注解
二、使用Feign
1、添加依赖:spring-cloud-starter-feign
2、创建一个Feign接口(name/value属性: 作用一样,指定调用服务的微服务名称;url : 指定调用服务的全路径)

@FeignClient(name = "microservice-provider-user") public interface UserFeignClient { @RequestMapping(value = "/{id}", method = RequestMethod.GET) public User findById(@PathVariable("id") Long id); }
3、修改controller代码

@RestController public class MovieController { @Autowired private UserFeignClient userFeignClient; @GetMapping("/user/{id}") public User findById(@PathVariable Long id) { return this.userFeignClient.findById(id); } }
4、修改启动类,为其添加@EnableFeignClients注解
三、自定义Feign配置
四、手动创建Feign
五、Feign对继承的支持
六、Feign对压缩的支持
七、Feign的日志
八、使用Feign构造多参数请求
后面都是些高级用法,目前还没有看懂,等我看懂了再来补充