Spring Cloud Feign 应用

1、Feign 组件

1.1 入门

添加依赖

 <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

1.2 配置接口

//声明当前类是一个Feign客户端,指定服务名为 service_product

@FeignClient("service-product")
public interface ProductClient {
    @GetMapping("/product/{id}")
    Product findById(@PathVariable("id") Long id);
}

1.3 启动类上激活

@EnableFeignClients

1.4 调用接口

@RestController
@RequestMapping("/order")
public class OrderController {
    @Autowired
  private ProductClient productClient;
    @RequestMapping(value = "/buy/{id}",method = RequestMethod.GET)
    public Product findById(@PathVariable Long id) {
 //3 通过feign 方式调用 product-service 服务下的接口
  return productClient.findById(id);
    }

1.5 日志级别配置

feign:
 client:
   config:
    shop-service-product: 
     loggerLevel: FULL
logging:
 level: cn.itcast.order.fegin.ProductFeginClient: debug

logging.level.xx : debug : Feign日志只会对日志级别为debug的做出响应
feign.client.config.shop-service-product.loggerLevel : 配置Feign的日志Feign有四种
日志级别:
NONE【性能最佳,适用于生产】:不记录任何日志(默认值)
BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据。

本作品采用《CC 协议》,转载必须注明作者和本文链接
每天进步一点点
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!