package com.hmall.api.config;
import com.hmall.common.utils.UserContext;
import feign.Logger;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.context.annotation.Bean;
public class DefaultFeignConfig { // 千萬不要在這個類上面加@Configuration註解,因為這個配置類會在其它啟動類上的註解引用
@Bean
public Logger.Level feignLogLevel() {
return Logger.Level.BASIC;
}
@Bean
public RequestInterceptor userInfoInterceptor() {
return new RequestInterceptor() {
@Override
public void apply(RequestTemplate requestTemplate) {
Long userId = UserContext.getUser();
// 為什麼上面這行程式碼可以從UserContext裡取使用者資訊,因為之前的服務中的資訊是閘道器給的,這個時候請求頭裡是帶了使用者資訊的
if(userId != null) {
requestTemplate.header("user-info", userId.toString());
}
}
};
}
}
gateway(二)微服務之間傳遞使用者資訊
相關文章
- 兄弟元件之間資訊傳遞元件
- context裡的超時時間是怎麼在微服務之間傳遞的Context微服務
- 頁面之間傳遞資料
- vue---元件間傳遞訊息(父子傳遞訊息,兄弟傳遞訊息)Vue元件
- vue元件之間的資料傳遞Vue元件
- 微服務之間通過RabbitMQ通訊微服務MQ
- Vue元件之間的資料傳遞(通訊、互動)詳解Vue元件
- Go 微服務:基於 RabbitMQ 和 AMQP 進行訊息傳遞Go微服務MQ
- AbilitySlice之間的傳遞值
- 不同順序InBoundHandler之間的資料傳遞
- postman(五):在不同介面之間傳遞資料Postman
- SpringCloud微服務系列- 服務間通訊之負載均衡SpringGCCloud微服務負載
- Ability之間或者程式間資料傳遞之物件(Sequenceable序列化)物件
- Vue父子之間的值傳遞Vue
- 『高階篇』docker之微服務間如何通訊(六)Docker微服務
- Vue元件間傳遞資料Vue元件
- Vue元件間資料傳遞Vue元件
- Go-kratos 框架商城微服務實戰之使用者服務 (二)Go框架微服務
- 父子元件資訊傳遞元件
- 你瞭解微服務的超時傳遞嗎?微服務
- Eureka微服務之間呼叫-feign微服務
- Eureka的微服務之間呼叫微服務
- 微服務之間的相互呼叫微服務
- 微服務之間如何共享DTO?微服務
- 微信小程式父子元件之間的資料傳遞微信小程式元件
- 微服務(七)Gateway服務閘道器微服務Gateway
- Feign 和 Hytrix 在微服務上下游的請求頭資訊傳遞丟失問題微服務
- 前後端分離應用——使用者資訊傳遞後端
- 微服務的程式間通訊(IPC)微服務
- Spring Cloud之微服務之間相互呼叫、如何讓一個微服務呼叫另外一個微服務SpringCloud微服務
- LCP 07. 傳遞資訊
- 微服務之間的協作方式微服務
- 微服務閘道器 Spring Cloud Gateway微服務SpringCloudGateway
- SpringCloud 微服務閘道器 Gateway 元件SpringGCCloud微服務Gateway元件
- 呼叫鏈系列(4):服務資訊上下文傳遞
- 微服務7:通訊之RPC微服務RPC
- 深入解析React資料傳遞之元件內部通訊React元件
- QNX學習 -- API之訊息傳遞API