Spring Cloud 组件 —— Feign

Feign基本介绍

Feign介绍
  • Feign是一个非常好用的HTTP客户端
  • Feign很大程序上简化了HTTP调用方式,可以调用HTTP API
  • Feign很好的弥补了SpringCloud的HTTP调用缺陷
Feign能干什么
  • Feign包含了多种HTTP的调用形式(有封装的注解等等)
  • Feign可以整合Ribbon和Hystrix
  • Feign提供了多种HTTP底层支持(比如RestTemplate/WebClient)
Feign特性
  • Feign实现了可插拔注解支持,包括Feign和JAX-RS注解
  • Feign支持可插拔的HTTP编码器和解码器
  • Feign支持HTTP请求和响应的压缩

Feign环境配置和基本使用

Feign使用步骤
  • 集成Feign环境
  • 添加FeignClient注解
  • 业务接口添加类似SpringMVC注解
基础环境
  • 引入openfeign依赖包
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: '2.2.4.RELEASE'
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign', version: '2.2.4.RELEASE'
  • 在application中通过注解开启EnableFeignClient支持@EnableFeignClients
  • 创建业务接口
    • 添加FeignClient注解
      • name
      • url - 注解访问目标地址(协议/host/port)
    • 添加业务方法
      • 添加URI和method支持
      • 编写入参和返回值
@FeignClient(name="providerTest", url="https://baidu.com")
public interface ProviderService {
    @RequestMapping(value="/", method=RequestMethod.GET)
    String invokerBaidu();
}
// 可以通过Controller调用此接口的方法[直接注入ProviderService即可]
Feign支持多种HTTP调用形式
  • SpringMVC
    • 支持
      • @RequestMapping
      • @RequestParam
      • @PathVariable
      • @RequestHeader
      • @RequestBody
    • 不支持
      • @GetMapping
      • @PostMapping

Feign整合Ribbon和Hystrix

未完待续…

Feign的实战技巧

未完待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值