是否可以使Spring Gateway路由不区分大小写?

时间:2019-10-02 15:22:04

标签: java spring spring-cloud-gateway

我需要使spring网关路由的谓词路径不区分大小写。例如,如果我要转到localhost:8888 / gEt / UsErit应该与我的/ get / user路径匹配。

无法找到使路径不区分大小写的任何内容。

spring:
   cloud:
      gateway:
         - id: user
           uri: localhost:8000
           predicates:
              -Path=/get/user

我希望能够从localhost:8888 / gEt / UsEr路由到localhost:8000,但不知道是否有消除路径区分大小写的方法。

1 个答案:

答案 0 :(得分:2)

似乎无法执行。请查看documentation

路径不接受正则表达式。但是regexp可以用于queryparams,cookie和其他。

但是您可以像这样指定多个路径。

spring:
   cloud:
      gateway:
         - id: user
           uri: localhost:8000
           predicates:
              -Path=/get/user, /Get/User, ......

另外,如果您查看PredicateSpec类,您会发现只有两种变体

public BooleanSpec path(String... patterns) {
   ....
}

public BooleanSpec path(boolean matchOptionalTrailingSeparator, String... patterns) {
   .....
}