SpringCloud服務之間Feign調(diào)用不會帶上請求頭header的解決方法
三種方式設置請求頭
在Spring Cloud中,使用Feign進行服務之間的調(diào)用時,默認情況下是不會傳遞header的。如果需要傳遞header,可以通過以下幾種方式實現(xiàn):
@RequestHeader
1.在Feign的接口方法上使用@RequestHeader注解,指定要傳遞的header參數(shù)。例如:
@FeignClient(name = "other-service")
public interface OtherServiceClient {
@GetMapping("/api/some-resource")
ResponseEntity<String> getSomeResource(@RequestHeader("Authorization") String token);
}@Bean RequestInterceptor
2.在Feign的配置類中配置RequestInterceptor,用于設置header。例如:
@Configuration
public class FeignClientConfig {
public HttpServletRequest getRequest() {
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
}
@Bean
public RequestInterceptor requestInterceptor() {
return template -> {
template.header("platform", getRequest().getHeader("platform"));
};
}
}實現(xiàn) RequestInterceptor
3.在Feign的配置文件中配置header。例如:
feign:
client:
config:
default:
loggerLevel: full
requestInterceptors:
- com.example.MyRequestInterceptorpublic class MyRequestInterceptor implements RequestInterceptor {
public HttpServletRequest getRequest() {
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
}
@Override
public void apply(RequestTemplate template) {
template.header("platform", getRequest().getHeader("platform"));
}
}以上是三種常用的方式,根據(jù)具體的需求選擇適合的方式即可。
到此這篇關于SpringCloud服務之間Feign調(diào)用不會帶上請求頭header的文章就介紹到這了,更多相關SpringCloud Feign內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot2.x使用POI實現(xiàn)導入數(shù)據(jù)到Excel
這篇文章主要為大家詳細介紹了SpringBoot2.x如何使用POI實現(xiàn)導入數(shù)據(jù)到Excel,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2025-07-07
Java使用Spire.Doc for Java合并多個Word文檔
在Java開發(fā)中,我們經(jīng)常需要將多個Word文檔合并為一個單一文件,本文將借助Spire.Doc for Java快速實現(xiàn)文檔合并,下面小編就為大家簡單介紹一下吧2025-09-09
詳解Java并發(fā)工具類之CountDownLatch和CyclicBarrier
在JDK的并發(fā)包中,有幾個非常有用的并發(fā)工具類,它們分別是:CountDownLatch、CyclicBarrier、Semaphore和Exchanger,本文主要來講講其中CountDownLatch和CyclicBarrier的使用,感興趣的可以了解一下2023-06-06
SpringBoot-Admin實現(xiàn)微服務監(jiān)控+健康檢查+釘釘告警
本文主要介紹了SpringBoot-Admin實現(xiàn)微服務監(jiān)控+健康檢查+釘釘告警,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10

