3.3 Gateway之自定义过滤器

1.Gateway过滤器种类

过滤器种类 描述
GatewayFilter 路由过滤器,作用于任意指定的路由。默认不生效,要配置到路由后生效
GlobalFilter 全局过滤器,作用范围是所有路由。声明后自定生效

2.Gateway过滤器参数

参数 描述
ServerWebExchange Gateway内部上下文对象,包含了整个过滤器链内共享的数据
GatewayFilterChain 过滤器链,当前过滤器执行完毕后,要调用过滤器链中的下一个过滤器

3.自定义GlobalFilter过滤器

java 复制代码
package com.example.filter;

import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;

@Component
public class LoginGlobalFilter implements GlobalFilter, Ordered {

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        // 1.获取请求等数据
        // 2.过滤器的业务处理
        // 3.放行
        return chain.filter(exchange);
    }

    @Override
    public int getOrder() {
        // 过滤器的执行顺序,值越小,优先级越高。要高于NettyRoutingFilter过滤器的优先级
        return 0 ;
    }

}
相关推荐
VX:Fegn08953 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
徐徐同学3 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
Mr.朱鹏4 小时前
Nginx路由转发案例实战
java·运维·spring boot·nginx·spring·intellij-idea·jetty
VX:Fegn08955 小时前
计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
vue.js·spring boot·课程设计
白露与泡影5 小时前
2026版Java架构师面试题及答案整理汇总
java·开发语言
历程里程碑6 小时前
滑动窗口---- 无重复字符的最长子串
java·数据结构·c++·python·算法·leetcode·django
qq_229058016 小时前
docker中检测进程的内存使用量
java·docker·容器
我真的是大笨蛋6 小时前
InnoDB行级锁解析
java·数据库·sql·mysql·性能优化·数据库开发
钦拆大仁6 小时前
Java设计模式-单例模式
java·单例模式·设计模式
小手cool7 小时前
在保持数组中对应元素(包括负数和正数)各自组内顺序不变的情况下,交换数组中对应的负数和正数元素
java