亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringCloud服務之間Feign調用不會帶上請求頭header的解決方法

 更新時間:2024年01月16日 14:43:04   作者:孟德愛吃香菜  
在Spring?Cloud中,使用Feign進行服務之間的調用時,默認情況下是不會傳遞header的,這篇文章給大家介紹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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java幸運28系統(tǒng)搭建數組的使用實例詳解

    Java幸運28系統(tǒng)搭建數組的使用實例詳解

    在本篇文章里小編給大家整理了關于Java幸運28系統(tǒng)搭建數組的使用實例內容,有需要的朋友們可以參考學習下。
    2019-09-09
  • 在Spring MVC中處理請求參數的方法總結

    在Spring MVC中處理請求參數的方法總結

    在Spring MVC中處理請求參數是通過使用各種注解來實現的,本文給大家介紹了在Spring MVC中處理不同類型請求參數的方法,并通過代碼講解的非常詳細,需要的朋友可以參考下
    2024-08-08
  • 基于Java實現計數排序,桶排序和基數排序

    基于Java實現計數排序,桶排序和基數排序

    這篇文章主要為大家詳細介紹了計數排序,桶排序和基數排序的多種語言的實現(JavaScript、Python、Go語言、Java),感興趣的小伙伴可以了解一下
    2022-12-12
  • SpringBoot項目實現分布式日志鏈路追蹤

    SpringBoot項目實現分布式日志鏈路追蹤

    這篇文章主要給大家介紹了Spring Boot項目如何實現分布式日志鏈路追蹤,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • SpringBoot如何取消內置Tomcat啟動并改用外接Tomcat

    SpringBoot如何取消內置Tomcat啟動并改用外接Tomcat

    這篇文章主要介紹了SpringBoot如何取消內置Tomcat啟動并改用外接Tomcat,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • IntelliJ IDEA cmd和idea Terminal查看java版本不一致的解決方案

    IntelliJ IDEA cmd和idea Terminal查看java版本不一致的解決

    原來win10電腦上安裝的是jdk8的版本,因某些原因,現在想換成jdk7的版本,修改環(huán)境變量后,在cmd中執(zhí)行 [java -version]命令,顯示的是7的版本,遇到這樣的問題如何解決呢?下面小編給大家分享IntelliJ IDEA cmd和idea Terminal查看java版本不一致的解決方案,一起看看吧
    2023-09-09
  • IntelliJ IDEA 安裝及初次使用圖文教程(2020.3.2社區(qū)版)

    IntelliJ IDEA 安裝及初次使用圖文教程(2020.3.2社區(qū)版)

    這篇文章主要介紹了IntelliJ IDEA 安裝及初次使用(2020.3.2社區(qū)版),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java常用字符串方法小結

    Java常用字符串方法小結

    字符串變量是Java與C語言的一大不同之處。Java之中的 String 類和 Stringbuffer 類提供了大量的對字符串操作的方法。String 類適合處理較小的字符串,而Stringbuffer類適合處理大量字符串
    2017-04-04
  • Mybatis在sqlite中無法讀寫byte[]類問題的解決辦法

    Mybatis在sqlite中無法讀寫byte[]類問題的解決辦法

    這篇文章主要給大家介紹了關于Mybatis在sqlite中無法讀寫byte[]類問題的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Java如何限制IP訪問頁面

    Java如何限制IP訪問頁面

    這篇文章主要介紹了Java如何限制IP訪問頁面,幫助大家完成需求,實現白名單,感興趣的朋友可以了解下
    2020-09-09

最新評論