More flexible path matching (such as file extensions and logical or)
#672 建立於 2018年11月22日
倉庫指標
- Star
- (4,284 star)
- PR 合併指標
- (平均合併 1天 21小時) (30 天內合併 18 個 PR)
描述
Bug report
spring-cloud-version: Finchley.SR2
I has a requirement that route www.example.com/**/*.html to lb://serviceNodeJs, and route www.example.com/** to lb://serviceJava,
so I wrote the following yaml file:
spring:
cloud:
gateway:
routes:
- id: test1
uri: lb://serviceNodeJs
predicates:
- Host=www.example.com
- Path=/**/*.html
- id: test2
uri: lb://serviceJava
predicates:
- Host=www.example.com
- Path=/**
But when I browse http://www.example.com/index.html, it is routed to lb://serviceJava,
my idea is that all the requests with the .html postfix being routed to lb://serviceNodeJs, and all the others being routed to lb://serviceJava, And I have also read the source code PathRoutePredicateFactory, I found that it use a new class PathPattern to test if it matches. If I use AntPathMatcher, it can support my requirement. so can PathPattern changed to meet this requirement?