現在的微服務基本就是springsecurity+oauth2做的授權和認證,假如多個服務直接要通過fegin來呼叫,會報錯401
a、有做許可權處理的服務介面直接呼叫會造成呼叫時出現http 401未授權的錯誤,繼而導致最終服務的http 500內部伺服器錯誤
b、解決方式:最方便的就是往請求頭里加上token,一起帶過去;
feign有提供乙個介面,requestinterceptor;
只要實現這個介面,簡單做一些處理,比如說我們驗證請求頭的token叫access-token
,我們就先取出當前請求的token,然後放到feign請求頭上;
publicclass feignconfig implements
requestinterceptor
}呼叫方式
@feignclient(name = "qtjuaa", configuration = feignconfig.class
)
public
inte***ce
uaaclient
feign服務之間呼叫問題
1.post請求報編碼錯誤 原因 可能是用 requestbody接收,需要在呼叫方呼叫的時候,加上編碼 public mapsendnotice requestbody string str 2.服務直接的header值傳遞問題 a.寫 configuration public class fei...
服務呼叫Feign
org.springframework.cloud spring cloud starter openfeign enablefeignclients建立client包 feignclient註解用於指定從哪個服務中呼叫功能 名稱與被呼叫的服務名保持一致。pathvariable註解一定要指定引數名...
SpringCloud 服務呼叫 Feign
這節我們來實現下服務呼叫,之前在ribbon中實現的時候,發現呼叫其他的服務還是需要通過resttemplate來呼叫,現在既然所有的服務都註冊到了springcloud中,那麼我們是否有其他的方式呢。springcloud提供了feign,直接通過服務名稱和對應介面進行呼叫,這樣,就像呼叫專案自己...