OpenFeign

feign是spring colud 组件中的一个轻量级restful的http客户端

openFeign 支持了spring mvc 标准注解 RequestMapping

main方法上加 @EnableFeignClients

微服务调用接口 + @FeignClient

@Component
@FeignClient(value = "CLOUD-PAYMENT-SERVICE")
public interface PaymentFeignService {
    @GetMapping(value = "/payment/get/{id}")
    CommonResult<Payment> getPaymentById(@PathVariable("id") Long id);
@GetMapping(
"/payment/feigin/timeout") String paymentFeginTimeOut() ; }

控制层直接掉接口就行了

 

openFeign 默认等待1秒。 超过会报错

在yml里加:

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

 

 

Feign提供日志打印功能, 我们可以通过配置调整日志级别。 从而了解Feign中Http请求。

说白就是对Feign接口调用的情况的监控和输出

日志级别:

NONE: 默认 不显示任何日志
BASIC: 仅请求方法 url 响应状态码 执行时间
HEADERS: 除BASIC 定义本身之外还有请求和响应头信息
FULL: 除了HEADERS 中定义的信息之外。 还有请求和响应的正文元数据。

 

实现方式:

@Configuration
public class FeignLogConfig {
    @Bean
    public Logger.Level feignLoggerLevel(){
        return Logger.Level.FULL;
    }
}
logging:
  level:
    com.etc.cloud.service.PaymentFeignService: debug

YML加  包名+接口类名:日志级别

 

posted @ 2020-08-28 11:42  neona  阅读(199)  评论(0编辑  收藏  举报