从换了工作到web 之后,一直在各种新技术之间切换,各种挣扎,一直没有时间进行总结,今天稍微总结下,做个记录。
1 基本概念
- Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。
- 使用Feign可以像调用本地方法一样调用远程HTTP接口
- Spring Cloud Feign是基于Netflix feign实现,整合了Spring?Cloud?Ribbon和Spring?Cloud?Hystrix
- Spring Cloud Feign对Feign进行了增强,使Feign支持了Spring MVC注解
- 使用Spring Cloud Feign可以轻松实现解耦、简化开发、负载均衡、远程调用、容错和降级
2 基本原理
3 使用方式
3.1 添加依赖
1 2 3 4 | < dependency > ???? < groupId >org.springframework.cloud</ groupId > ???? < artifactId >spring-cloud-starter-openfeign</ artifactId > </ dependency > |
注意:不用写版本,因为springboot会自动协商。?
3.2 开启Feign
灰常简单,在启动类application上加上?@EnableFeignClients?注解就可以了
3.3 创建Client
新建接口类,在接口类上加上?@FeignClient?注解,如:
@FeignClient(name = "msskill")
public interface UserFeignClient {
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public User findById(@PathVariable("id") Long id);
}
总结:
一个使用java动态代理,对http 请求自动组装的库。
使用的时候先开启,增加注解@EnableFeignClients
然后创建接口,在接口上增加?@RequestMapping 注解
|