• SpringCloudGateway内置GatewayFilter工厂类之Path类过滤器 (三)


    1:PrefixPath

      将所有请求路径前加上路径;value

    - PrefixPath=value
    spring:
      cloud:
        gateway:
          routes:
          - id: prefixpath_route
            uri: http://example.org
            filters:
            - PrefixPath=value

    2:RewritePath

      利用路径正则表达式灵活替换请求路径

      eg:

    spring:
        cloud:
            gateway:
                routes:
                #插件请求转发 
                #(?<segment>/?.*):匹配 /任意字符,此处/出现0次或1次。将匹配到的结果捕获到名称为segment的组中
                #$\{segment}:将 segment所捕获到的文本置换到此处,注意,\的出现是由于避免yaml认为这是一个变量,在gateway进行解析时,会被替换为${segment}
                - id: "ms-api-gateway"
                  uri: "lb://ms-api-gateway"
                  predicates:
                  - Path=/isv/mini/common/**
                  filters:
                  - RewritePath=/isv(?<segment>/?.*), /isv/ms/app$\{segment}

    3:SetPath

      SetPath GatewayFilter Factory采用路径模板参数。 它提供了一种通过允许模板化路径段来操作请求路径的简单方法。 这使用了Spring Framework中的uri模板。 允许多个匹配的段。

    - SetPath=/{segment}

      eg:

    spring:
      cloud:
        gateway:
          routes:
          - id: setpath_route
            uri: http://example.org
            predicates:
            - Path=/foo/{segment}
            filters:
            - SetPath=/{segment}

    4:StripPrefix

       StripPrefix网关过滤器工厂采用一个参数StripPrefix。 StripPrefix参数表示在将请求发送到下游之前从请求中剥离的路径个数。

    - StripPrefix

      eg:

    spring:
      cloud:
        gateway:
          routes:
          - id: nameRoot
            uri: http://nameservice
            predicates:
            - Path=/name/**
            filters:
            - StripPrefix=1
  • 相关阅读:
    性能测试策略和关注指标
    ES7.17.1安装
    java 复制对象
    Java 实现树结构计算各个节点数的和
    自定义初始化ES实体类
    .net core datatable 导出 pdf 支持中文
    VSCode 快捷键(整理)
    国标平台LiveGBS GB28181接入录像机NVR、摄像头时没有通道 通道数位0的检查办法
    基于docker搭建Android cordova开发环境
    SpringBoot整合邮箱发送邮件
  • 原文地址:https://www.cnblogs.com/jwdd/p/15603912.html
Copyright © 2020-2023  润新知