网关过滤器
StripPrefix 过滤器
- 作用: 去掉部分URL路径
spring:
cloud:
gateway:
routes:
- id: bds-lbs-service
uri: lb://bds-lbs-service
predicates:
- Path=/lbs/**
filters:
- StripPrefix=1
- 如上,我们访问网关地址
http://host:port/lbs/hello
时- 若无
StripPrefix
过滤器时,gateway 发送请求到后台服务bds-lbs-service
的url就是http://bds-lbs-service/lbs/hello
- 若有
StripPrefix
过滤器时,gateway会根据StripPrefix=1
所配的值(这里是1)去掉URL路径中的部分前缀(这里去掉一个前缀,即去掉lbs
)- 发送请求到后台服务
spring-cloud-producer
的url变成http://bds-lbs-service/hello
- 发送请求到后台服务
- 若无
PrefixPath 过滤器
- 作用: 它的作用和
StripPrefix
正相反,是在URL路径前面添加一部分的前缀
spring:
cloud:
gateway:
routes:
- id: bds-lbs-service
uri: lb://bds-lbs-service
filters:
- PrefixPath=/lbs
- 这将会把
/lbs
添加到路由prefixpath_route
匹配到的所有请求的路径的前面。- 所以对
/hello
的请求将会被发送到/lbs/hello
。
- 所以对