GateWay中StripPrefix的作用及说明
网关过滤器
StripPrefix 过滤器
StripPrefix网关过滤器工厂采用一个参数StripPrefix。 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
spring:
cloud:
gateway:
routes:
- id: crm
uri: http://crm
predicates:
- Path=/crm/**
filters:
- StripPrefix=2
当通过网关向/name/bar/foo发出请求时,对nameservice的请求将类似于http://crm/foo。
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。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析
InstantiationAwareBeanPostProcessor是Spring 生命周期中的一个关键扩展接口,继承自 BeanPostProcessor,这篇文章主要介绍了Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析,需要的朋友可以参考下2025-06-06
Mybatis第三方PageHelper分页插件的使用与原理
提到插件相信大家都知道,插件的存在主要是用来改变或者增强原有的功能,MyBatis中也一样,下面这篇文章主要给大家介绍了关于Mybatis第三方PageHelper分页插件的使用与原理,需要的朋友可以参考下2022-02-02


最新评论