feign介紹
feign是netflix公司開源的輕量級rest客戶端,使用feign可以非常方便的實現http 客戶端。spring cloud引入.feign並且整合了ribbon實現客戶端負載均衡呼叫。
feign 整合測試
1、在客戶端新增依賴,所需依賴如下
2、定義feignclient介面
import org.springframework.cloud.openfeign.feignclient;
import org.springframework.web.bind.annotation.pathvariable;
@feignclient(value = "xc-server-cms")
public inte***ce cmspageclient
3.在啟動類中新增註解
啟動類新增@enablefeignclients註解
4.測試
@resource
private cmspageclient cmspageclient;
@test
public void fun02()
執行結果
feign 執行流程
1.啟動類新增@enablefeignclients註解,spring會掃瞄標記了 feignclients註解的介面,並生成介面的**物件
2.@feignclient(value = xcservicelist.xc_service_manage_cms)即指定了cms的服務名稱,feign會從註冊中
心獲取cms服務列表,並通過負載均衡演算法進行服務呼叫
feign 注意事項
1.feignclient介面 有引數在引數必須加@pathvariable("***")和@requestparam("***")
2.feignclient返回值為複雜物件時其型別必須有無參建構函式。
微服務宣告式呼叫元件 Feign
宣告式rest客戶端 採用基於介面的註解方式 注意 是在服務呼叫方去宣告介面,然後跟服務提供方的api進行對應,這樣就可以呼叫了 org.springframework.cloud spring cloud starter openfeign 啟動類新增註解 enablefeignclients 此...
服務呼叫Feign
org.springframework.cloud spring cloud starter openfeign enablefeignclients建立client包 feignclient註解用於指定從哪個服務中呼叫功能 名稱與被呼叫的服務名保持一致。pathvariable註解一定要指定引數名...
SpringCloud 服務呼叫 Feign
這節我們來實現下服務呼叫,之前在ribbon中實現的時候,發現呼叫其他的服務還是需要通過resttemplate來呼叫,現在既然所有的服務都註冊到了springcloud中,那麼我們是否有其他的方式呢。springcloud提供了feign,直接通過服務名稱和對應介面進行呼叫,這樣,就像呼叫專案自己...