Spring Cloud Gateway谓词中matchOptionalTrailingSeparator有什么用

时间:2020-06-21 00:47:48

标签: spring spring-cloud spring-cloud-gateway

Spring.io给出的有关Spring Cloud的文档中: enter image description here

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

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

此标志的用途是什么以及如何使用此标志? 谢谢

1 个答案:

答案 0 :(得分:2)

参数matchOptionalTrailingSeparator用于确定给定的Path谓词是否也应与带有斜杠/的请求相匹配。 默认情况下,其值为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}/