欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloudGateway?自定義局部過濾器場(chǎng)景分析

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

場(chǎng)景:

將所有請(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)文章

最新評(píng)論