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

}
相关推荐
极客先躯42 分钟前
高级java每日一道面试题-2024年10月3日-分布式篇-分布式系统中的容错策略都有哪些?
java·分布式·版本控制·共识算法·超时重试·心跳检测·容错策略
夜月行者1 小时前
如何使用ssm实现基于SSM的宠物服务平台的设计与实现+vue
java·后端·ssm
程序猿小D1 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa
潘多编程1 小时前
Java中的状态机实现:使用Spring State Machine管理复杂状态流转
java·开发语言·spring
_阿伟_2 小时前
SpringMVC
java·spring
代码在改了2 小时前
springboot厨房达人美食分享平台(源码+文档+调试+答疑)
java·spring boot
猿java2 小时前
使用 Kafka面临的挑战
java·后端·kafka
wclass-zhengge2 小时前
数据结构篇(绪论)
java·数据结构·算法
何事驚慌2 小时前
2024/10/5 数据结构打卡
java·数据结构·算法
结衣结衣.2 小时前
C++ 类和对象的初步介绍
java·开发语言·数据结构·c++·笔记·学习·算法