首页 > 解决方案 > Spring Cloud Gateway Predicate中matchOptionalTrailingSeparator有什么用

问题描述

从 Spring.io 给出的关于 Spring Cloud 的文档中: 在此处输入图像描述

Path Route Predicate Factory 有两个参数:一个 Spring PathMatcher 模式列表和一个名为 matchOptionalTrailingSeparator 的可选标志。

它提到了一个可选标志matchOptionalTrailingSeparator,没有更多描述。

这个标志有什么用以及如何使用这个标志?谢谢

标签: springspring-cloudspring-cloud-gateway

解决方案


该参数matchOptionalTrailingSeparator用于确定给定的 Path 谓词是否也应该匹配带有斜杠的请求/。默认情况下, this 的值为true

例如以下路线

spring:
  cloud:
    gateway:
      routes:
      - id: host_route
        uri: https://example.org
        predicates:
        - Path=/foo/{segment}

将匹配请求/foo/{segment}/foo/{segment}/

但如果写成:

spring:
  cloud:
    gateway:
      routes:
      - id: host_route
        uri: https://example.org
        predicates:
        - Path=/foo/{segment},false

它不会匹配带有斜杠的请求,/即它只会匹配/foo/{segment}而不匹配/foo/{segment}/


推荐阅读