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 ;
    }

}
相关推荐
Pitayafruit1 分钟前
Spring AI 进阶之路04:集成 SearXNG 实现联网搜索
spring boot·后端·ai编程
刘一说16 分钟前
CentOS 系统 Java 开发测试环境搭建手册
java·linux·运维·服务器·centos
卷福同学23 分钟前
来上海三个月,我在马路边上遇到了阿里前同事...
java·后端
bingbingyihao2 小时前
多数据源 Demo
java·springboot
在努力的前端小白7 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
一叶飘零_sweeeet10 小时前
从繁琐到优雅:Java Lambda 表达式全解析与实战指南
java·lambda·java8
艾伦~耶格尔10 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
一只叫煤球的猫10 小时前
🕰 一个案例带你彻底搞懂延迟双删
java·后端·面试
最初的↘那颗心10 小时前
Flink Stream API 源码走读 - print()
java·大数据·hadoop·flink·实时计算
JH307311 小时前
Maven的三种项目打包方式——pom,jar,war的区别
java·maven·jar