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(二)微服務之間傳遞使用者資訊
相關文章
- 兄弟元件之間資訊傳遞元件
- 微服務實戰(二):使用API Gateway微服務APIGateway
- context裡的超時時間是怎麼在微服務之間傳遞的Context微服務
- AbilitySlice之間的傳遞值
- 資訊傳遞
- Android訊息傳遞之元件間傳遞訊息Android元件
- 你瞭解微服務的超時傳遞嗎?微服務
- 微服務(七)Gateway服務閘道器微服務Gateway
- Vue父子之間的值傳遞Vue
- 頁面之間傳遞資料
- Go-kratos 框架商城微服務實戰之使用者服務 (二)Go框架微服務
- Eureka的微服務之間呼叫微服務
- 微服務之間的相互呼叫微服務
- 微服務之間如何共享DTO?微服務
- vue元件之間的資料傳遞Vue元件
- Eureka微服務之間呼叫-feign微服務
- 微服務之間的協作方式微服務
- Spring Cloud之微服務之間相互呼叫、如何讓一個微服務呼叫另外一個微服務SpringCloud微服務
- 父子元件資訊傳遞元件
- 微服務閘道器 Spring Cloud Gateway微服務SpringCloudGateway
- SpringCloud 微服務閘道器 Gateway 元件SpringGCCloud微服務Gateway元件
- Vue.js 元件之間傳遞資料Vue.js元件
- 微服務之間通過RabbitMQ通訊微服務MQ
- 前後端分離應用——使用者資訊傳遞後端
- 呼叫鏈系列(4):服務資訊上下文傳遞
- 用雞蛋和腦袋傳遞資訊 以及你想象不到資訊傳遞方式
- Go 微服務:基於 RabbitMQ 和 AMQP 進行訊息傳遞Go微服務MQ
- Ability之間或者程式間資料傳遞之物件(Sequenceable序列化)物件
- LCP 07. 傳遞資訊
- 使用 caddy 作為微服務的 API gateway微服務APIGateway
- 微服務閘道器Gateway實踐總結微服務Gateway
- postman(五):在不同介面之間傳遞資料Postman
- Linux/Unix shell sql 之間傳遞變數LinuxSQL變數
- react元件與元件之間的資料傳遞React元件
- bundle實現Activity之間的資料傳遞
- 不同順序InBoundHandler之間的資料傳遞
- 微信小程式--頁面與元件之間如何進行資訊傳遞和函式呼叫微信小程式元件函式
- 微服務之間的呼叫方式哪種最佳?微服務