More flexible path matching (such as file extensions and logical or)
#672 opened on Nov 22, 2018
Repository metrics
- Stars
- (4,284 stars)
- PR merge metrics
- (Avg merge 1d 21h) (18 merged PRs in 30d)
Description
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?