OpenFeign服务接口调用

GitHup文档

是什么

Feign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需 创建一个接口并在接口上添加注解即可

Feign和OpenFeign两者区别

OpenFeign在Feign的基础上支持了对SpringMVC的注解,如@RequestMapping。OpenFeign的@FeignClient可以解析@ReuqestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。

使用

  • 在主启动类添加注解@EnableFeignClients
  • 新建接口并新增注解@FeignClient
@Component
@FeignClient("SYSTEM-SERVICE")
public interface PaymentFeignService {

    @PostMapping("/education/bes/v1/system/dictionary/searchDictionary")
    List<PaperInfoVO> queryPaperInfoList(CombInfoQueryVO combInfoQueryVO);
}

超时控制

OpenFeign默认支持Ribbon,YML文件里开启OpenFeign客户端超时控制

# 设置feign客户端超时时间(OpenFeign默认支持ribbon)
ribbon:
  # 指的是建立连接所用的时间,适用于网络状态正常的情况下,两端连接所用的时间
  ReadTimeout: 5000
  # 指的是建立连接后从服务器读取到可用资源所用的时间
  ConnectTimeout: 5000

日志打印

  • 配置日志bean
@Configuration
public class FeignConfig {

    /**
     * feignClient配置日志级别
     *
     * @return
     */
    @Bean
    public Logger.Level feignLoggerLevel() {
        // 请求和响应的头信息,请求和响应的正文及元数据
        return Logger.Level.FULL;
    }
}
  • YML文件里开启日志的Feign客户端
logging:
  level:
    # feign日志以什么级别监控哪个接口
    com.boss.springcloud.service.PaymentFeignService: debug
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值