最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloudGateway?自定義局部過濾器場景分析

 更新時(shí)間:2025年06月10日 10:20:24   作者:sszdzq海怪  
這篇文章主要介紹了SpringCloudGateway?自定義局部過濾器場景分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

場景:

將所有請(qǐng)求轉(zhuǎn)化為同一路徑請(qǐng)求(方便穿網(wǎng)配置)在請(qǐng)求頭內(nèi)標(biāo)識(shí)原來路徑,然后在將請(qǐng)求分發(fā)給不同服務(wù)

AllToOneGatewayFilterFactory
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class AllToOneGatewayFilterFactory extends AbstractGatewayFilterFactory<AllToOneGatewayFilterFactory.Config> {
    public AllToOneGatewayFilterFactory() {
        super(Config.class);
    }
    @Override
    public GatewayFilter apply(Config config) {
        return (exchange, chain) -> {
            ServerHttpRequest request = exchange.getRequest();
            request.getURI();
            // 替換路徑
            String path = request.getPath().toString();
            ServerHttpRequest modifiedRequest = request.mutate().header(config.headerName, path).path(config.getToPath()).build();
            exchange = exchange.mutate().request(modifiedRequest).build();
            log.info("AllToOne: headers{{}:{}}, {} ---> {}", config.getHeaderName(),path, request.getURI(), modifiedRequest.getURI());
            return chain.filter(exchange);
        };
    }
    @Setter
    @Getter
    public static class Config {
        private String headerName;
        private String toPath;
    }
}
 spring:
  cloud:
    gateway:
      httpclient:
        ssl:
          useInsecureTrustManager: true
      routes:
       - id: AllToOne_fnpt
         uri: http://localhost:19982
         predicates:
           - Path=/**
         filters:
           - name: AllToOne
             args:
               headerName: api-path
               toPath: /api/unified

注意:1.類名必須以GatewayFilterFactory結(jié)尾否則會(huì)出現(xiàn)不識(shí)別 的情況

           2.配置的filters -name 的值為類的前綴(截取GatewayFilterFactory之后的)

到此這篇關(guān)于SpringCloudGateway 自定義局部過濾器的文章就介紹到這了,更多相關(guān)SpringCloudGateway 過濾器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Springboot2.0構(gòu)建ES的多客戶端

    基于Springboot2.0構(gòu)建ES的多客戶端

    這篇文章主要為大家詳細(xì)介紹了基于Springboot2.0構(gòu)建ES的多客戶端,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • springboot上傳文件過大的500異常解決

    springboot上傳文件過大的500異常解決

    這篇文章主要介紹了springboot上傳文件過大的500異常解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java中List集合對(duì)象去重及按屬性去重的8種方法

    Java中List集合對(duì)象去重及按屬性去重的8種方法

    這篇文章主要介紹了Java中List集合對(duì)象去重及按屬性去重的8種方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一地的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 深入理解Java設(shè)計(jì)模式之迭代器模式

    深入理解Java設(shè)計(jì)模式之迭代器模式

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之迭代器模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解
    2021-11-11
  • 如何基于java語言實(shí)現(xiàn)八皇后問題

    如何基于java語言實(shí)現(xiàn)八皇后問題

    這篇文章主要介紹了如何基于java語言實(shí)現(xiàn)八皇后問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Spring Cache自定義緩存key和過期時(shí)間的實(shí)現(xiàn)代碼

    Spring Cache自定義緩存key和過期時(shí)間的實(shí)現(xiàn)代碼

    使用 Redis的客戶端 Spring Cache時(shí),會(huì)發(fā)現(xiàn)生成 key中會(huì)多出一個(gè)冒號(hào),而且有一個(gè)空節(jié)點(diǎn)的存在,查看源碼可知,這是因?yàn)?nbsp;Spring Cache默認(rèn)生成key的策略就是通過兩個(gè)冒號(hào)來拼接,本文給大家介紹了Spring Cache自定義緩存key和過期時(shí)間的實(shí)現(xiàn),需要的朋友可以參考下
    2024-05-05
  • java.lang.NumberFormatException異常解決方案詳解

    java.lang.NumberFormatException異常解決方案詳解

    這篇文章主要介紹了java.lang.NumberFormatException異常解決方案詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • ES多條件查詢寫法舉例

    ES多條件查詢寫法舉例

    這篇文章主要給大家介紹了關(guān)于ES多條件查詢的相關(guān)資料,Elasticsearch多條件查詢是指在查詢數(shù)據(jù)時(shí),可以同時(shí)使用多個(gè)條件來篩選數(shù)據(jù),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • java實(shí)現(xiàn)微信支付(服務(wù)端)

    java實(shí)現(xiàn)微信支付(服務(wù)端)

    這篇文章主要介紹了java實(shí)現(xiàn)微信支付,針對(duì)服務(wù)端進(jìn)行代碼編寫,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Java中Bigdecimal類的toString()方法和toPlainString()方法區(qū)別

    Java中Bigdecimal類的toString()方法和toPlainString()方法區(qū)別

    BigDecimal類有多個(gè)方法可以將其轉(zhuǎn)換為字符串,其中包括toString()和toPlainString(),本文主要介紹了Java中Bigdecimal類的toString()方法和toPlainString()方法區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07

最新評(píng)論

博湖县| 威海市| 洞头县| 博乐市| 磐石市| 汶川县| 辉县市| 寻甸| 阳原县| 南乐县| 东明县| 汝阳县| 平舆县| 城市| 垣曲县| 中牟县| 景德镇市| 鸡泽县| 河西区| 喀什市| 彩票| 邯郸县| 镇坪县| 通州区| 赤水市| 宁阳县| 宜兰县| 赤峰市| 淮北市| 灌云县| 乌鲁木齐县| 成武县| 中卫市| 子长县| 德格县| 白银市| 盐源县| 黔西| 普定县| 景宁| 霍城县|