Spring Cloud Feign 應用

sun1584732發表於2021-07-17

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 協議》,轉載必須註明作者和本文連結
每天進步一點點

相關文章