一、什么是Feign
Feign旨在使编写Java Htpp客户端变得更容易,在Spring Cloud中,使用Feign非常简单——创建一个接口,并在接口上添加注解即可。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。
二、使用Feign
1、添加依赖:spring-cloud-starter-feign
2、创建一个Feign接口(name/value属性: 作用一样,指定调用服务的微服务名称;url : 指定调用服务的全路径)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
@FeignClient(name = "microservice-provider-user") public interface UserFeignClient { @RequestMapping(value = "/{id}", method = RequestMethod.GET) public User findById(@PathVariable("id") Long id); }
3、修改controller代码
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
@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构造多参数请求
后面都是些高级用法,目前还没有看懂,等我看懂了再来补充