Spring Cloud Gateway 的过滤器有哪些
Spring Cloud Gateway 的过滤器有哪些
程序员朱永胜有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准
https://blog.zysicyj.top
全网最细面试题手册,支持艾宾浩斯记忆法。这是一份最全面、最详细、最高质量的 java 面试题,不建议你死记硬背,只要每天复习一遍,有个大概印象就行了。https://store.amazingmemo.com/chapterDetail/1685324709017001`
Spring Cloud Gateway 过滤器概述
Spring Cloud Gateway 提供了一系列的内置过滤器,它们可以在请求和响应的生命周期中应用。下面是不同类型的过滤器简单介绍:
全局过滤器
全局过滤器(Global Filters)适用于所有的路由。
路由过滤器
路由过滤器(Route Filters)只作用于指定的路由。
网关过滤器
网关过滤器(GatewayFilter)可以通过编程的方式自定义,并在配置中指定。
内置过滤器类型
Spring Cloud Gateway 的内置过滤器大体可以分为以下几类:
工厂过滤器
这类过滤器允许通过配置文件定义过滤器行为。
- AddRequestHeader - 添加请求头
- AddRequestParameter - 添加请求参数
- AddResponseHeader - 添加响应头
- RedirectTo - 重定向到指定 URL
- SetPath - 修改请求路径
- SetStatus - 修改响应状态码
- StripPrefix - 移除 URL 的前缀部分
- Retry - 提供重试逻辑
- RequestRateLimiter - 限流
修改请求 / 响应体的过滤器
这些过滤器用来修改请求或响应的内容。
- ModifyRequestBody - 修改请求体
- ModifyResponseBody - 修改响应体
鉴权和安全相关
这些过滤器关联到安全和鉴权的操作。
- TokenRelay - 令牌转发
- SecureHeaders - 添加安全相关的头信息
其他特殊用途
- FallbackHeaders - 配置后备请求头信息
- Hystrix - 集成 Hystrix 进行断路器的支持
- SaveSession - 保存 Session 信息
自定义过滤器
除了内置过滤器,Spring Cloud Gateway 还允许我们创建 自定义过滤器。自定义过滤器可以用来执行特定的业务逻辑,例如用户认证、日志记录等。自定义过滤器实现 GatewayFilter
接口,并通过继承 AbstractGatewayFilterFactory
基类来简化开发。
1 | public class CustomFilter extends AbstractGatewayFilterFactory<CustomFilter.Config> { |
在配置路由时,便可以引用自定义过滤器:
1 | spring: |
以上便是一些基础知识关于 Spring Cloud Gateway 中内置的过滤器以及如何创建自定义过滤器。它们都是构建 API 网关时不可或缺的工具。