Feign簡單應用

2021-10-23 16:16:02 字數 2134 閱讀 7903

為什麼要學習feign

簡答 遠端呼叫 不用自己去書寫url

feign英譯為:假裝 裝作

feign可以把rest的請求進行隱藏,偽裝成類似springmvc的controller一樣。你不用再自己拼接url,拼接引數等等操作,一切都交給feign去做。

快速入門:

第一步:

匯入依賴:

>

>

org.springframework.cloudgroupid

>

>

spring-cloud-starter-openfeignartifactid

>

dependency

>

第二步:

在啟動類上加上注釋:

@enablefeignclients // 開啟feign功能

fegin的客戶端:

@feignclient

("user-service"

)public

inte***ce

userfeignclient")

user queryuserbyid

(@pathvariable

("id"

) long id)

;}

@autowired

private userfeighclient userfeighclient;

public user queryuserbyid(long id)

feign中本身已經整合了ribbon和hystrix

因此我們不需要額外引入依賴,也不需要再註冊resttemplate物件。

配置ribbon:

ribbon

:connecttimeout

:250

# 連線超時時間(ms)

readtimeout

:1000

# 通訊超時時間(ms)

oktoretryonalloperations

:true

# 是否對所有操作重試

maxautoretriesnextserver:1

# 同一服務不同例項的重試次數

maxautoretries:1

# 同一例項的重試次數

user-service

:ribbon

:connecttimeout

:250

# 連線超時時間(ms)

readtimeout

:1000

# 通訊超時時間(ms)

oktoretryonalloperations

:true

# 是否對所有操作重試

maxautoretriesnextserver:1

# 同一服務不同例項的重試次數

maxautoretries:1

# 同一例項的重試次數

feign中的fallback配置不像ribbon中那樣簡單了。

首先,我們要定義乙個類,實現剛才編寫的userfeignclient,作為fallback的處理類

@component

public

class

userfeignclientfallback

implements

userfeignclient

}

然後在userfeignclient中,指定剛才編寫的實現類

@feignclient

(value =

"user-service"

, fallback = userfeignclientfallback.

class

)public

inte***ce

userfeignclient")

user queryuserbyid

(@pathvariable

("id"

) long id)

;}

想要測試熔斷是否成功可以將service生產者關掉 然後再訪問頁面

feign的簡單實現

feign可以把rest的請求進行隱藏,偽裝成類似springmvc的controller一樣。你不用再自己拼接url,拼接引數等等操作,一切都交給feign去做。feign的使用 建立乙個介面,在介面上新增一些註解 feign支援多種註解,例如feign自帶的註解或者是jax rs註解等。spri...

Feign自定義配置應用

環境 nacos 1.3.1 啟動nacos cd usr local nacos bin sh startup.sh m standalone 2.自定義feign的配置 1 新增依賴 加入nacos discovery發現服務的依賴 web actuator用於監控檢查,新增openfeign依...

關於 Feign 的使用中,簡單事項

關在前後端 呼叫 大多數是 json,今天對接第三方免登入授權,對方介面規範非檔案上傳也要求form表單,先用postman呼叫,正常返回 後在 實現 總是302,起初懷疑2點,1授權失敗 2 是否postman自動做了重定向所以成功 這裡提一下 uri 是為了動態訪問相應服務位址 最終通過兩種方式...