SpringCloud服務之間Feign調用不會帶上請求頭header的解決方法
三種方式設置請求頭
在Spring Cloud中,使用Feign進行服務之間的調用時,默認情況下是不會傳遞header的。如果需要傳遞header,可以通過以下幾種方式實現:
@RequestHeader
1.在Feign的接口方法上使用@RequestHeader注解,指定要傳遞的header參數。例如:
@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")); }; } }
實現 RequestInterceptor
3.在Feign的配置文件中配置header。例如:
feign: client: config: default: loggerLevel: full requestInterceptors: - com.example.MyRequestInterceptor
public class MyRequestInterceptor implements RequestInterceptor { public HttpServletRequest getRequest() { return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); } @Override public void apply(RequestTemplate template) { template.header("platform", getRequest().getHeader("platform")); } }
以上是三種常用的方式,根據具體的需求選擇適合的方式即可。
到此這篇關于SpringCloud服務之間Feign調用不會帶上請求頭header的文章就介紹到這了,更多相關SpringCloud Feign內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot如何取消內置Tomcat啟動并改用外接Tomcat
這篇文章主要介紹了SpringBoot如何取消內置Tomcat啟動并改用外接Tomcat,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11IntelliJ IDEA cmd和idea Terminal查看java版本不一致的解決
原來win10電腦上安裝的是jdk8的版本,因某些原因,現在想換成jdk7的版本,修改環(huán)境變量后,在cmd中執(zhí)行 [java -version]命令,顯示的是7的版本,遇到這樣的問題如何解決呢?下面小編給大家分享IntelliJ IDEA cmd和idea Terminal查看java版本不一致的解決方案,一起看看吧2023-09-09IntelliJ IDEA 安裝及初次使用圖文教程(2020.3.2社區(qū)版)
這篇文章主要介紹了IntelliJ IDEA 安裝及初次使用(2020.3.2社區(qū)版),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Mybatis在sqlite中無法讀寫byte[]類問題的解決辦法
這篇文章主要給大家介紹了關于Mybatis在sqlite中無法讀寫byte[]類問題的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10