我需要使弹簧网关路由的谓词路径不区分大小写。 例如,如果我想转到localhost:8888/gEt/UsErit应该与我的/get/user路径匹配。
无法找到任何使路径不区分大小写的内容。
spring:
cloud:
gateway:
- id: user
uri: localhost:8000
predicates:
-Path=/get/user
我希望能够从本地主机:8888/gEt/UsEr路由到本地主机:8000,但不知道是否有办法从路径中删除区分大小写。
看起来这是不可能的。 请查看文档
路径不接受正则表达式。但是正则表达式可以用于查询参数,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) {
.....
}