1. 程式人生 > 實用技巧 >SpringCloud 微服務與微服務對接心德

SpringCloud 微服務與微服務對接心德

導讀

  先簡單介紹下背景,公司裡的專案,有一塊需要與公司裡的其他專案組對接。我們這邊用的註冊中心Nacos,對方用的eureka,之前都是自己寫介面,然後服務中引入這個介面工程,都是註冊到同一個註冊中心中,百度查了下,可以使用@FeignClient遠端呼叫人家服務。

首先

  對方已經提供好一個API文件,然後傳一堆傳輸,返回給我一些資訊。如下

然後

  我這邊建立實體類,返回值這些東西,如下

  介面如下

@FeignClient還有以下標籤

name:指定FeignClient的名稱,如果專案使用了Ribbon,name屬性會作為微服務的名稱,用於服務發現
url: url一般用於除錯,可以手動指定@FeignClient呼叫的地址
decode404:當發生http 404錯誤時,如果該欄位位true,會呼叫decoder進行解碼,否則丟擲FeignException
configuration: Feign配置類,可以自定義Feign的Encoder、Decoder、LogLevel、Contract
fallback: 定義容錯的處理類,當呼叫遠端介面失敗或超時時,會呼叫對應介面的容錯邏輯,fallback指定的類必須實現@FeignClient標記的介面
fallbackFactory: 工廠類,用於生成fallback類示例,通過這個屬性我們可以實現每個介面通用的容錯邏輯,減少重複的程式碼
path: 定義當前FeignClient的統一字首

  然後啟動類上,加上這個服務

最後(測試)

  測試類測試之後發現介面已經可以調通~