今天带大家看一下Spring Cloud Gateway的过滤器
过滤器分类
Spring Cloud Gateway根据作用范围划分为GatewayFilter和GlobalFilter,二者的区别如下GatewayFilter:网关过滤器,需要通过spring.cloud.routes.filters配置在具体的路由下,只作用在当前特定路由上,也可以通过配置spring.cloud.default-filters让它作用于全局路由上。
GlobalFilter:全局过滤器,不需要再配置文件中配置,作用在所有的路由上,最终通过GatewayFilterAdapter包装成GatewayFilterChain能够识别的过滤器。
网关过滤器
网关过滤器用于拦截并链式处理web请求,可以实现横切与应用无关的需求,比如:安全、监控/埋点、限流访问超时设置、对请求和响应做出修改。Spring Cloud Gateway包含了许多内置的网关过滤器工厂,大概有30多个,具体用途大致可以分为以下几类Header过滤器
Parameter请求参数过滤器
Path路径过滤器
Body请求(响应)体过滤器
Status状态过滤器
Session会话过滤器
Redirect重定向过滤器
Retry重试过滤器
RateLimiter限流过滤器
Hystrix熔断过滤器。
如下图所示列出部分过滤器
接下来我们举例说明部分使用
Path路径过滤器
Path路径过滤器可以实现URL重写,通过重写URL可以实现隐藏