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

}
相关推荐
工一木子9 分钟前
【Java项目脚手架系列】第七篇:Spring Boot + Redis项目脚手架
java·spring boot·redis
哞哞不熬夜21 分钟前
JavaEE--初识网络
java·网络·java-ee
等等54333 分钟前
Java EE初阶——wait 和 notify
java·开发语言
API小爬虫1 小时前
淘宝按图搜索商品(拍立淘)Java 爬虫实战指南
java·爬虫·图搜索算法
lyrhhhhhhhh1 小时前
Spring 框架 JDBC 模板技术详解
java·数据库·spring
亚林瓜子2 小时前
AWS Elastic Beanstalk控制台部署Spring极简工程
java·spring·云计算·aws·eb
2401_cf2 小时前
如何创建maven项目
java·maven·intellij-idea
源码云商3 小时前
【带文档】网上点餐系统 springboot + vue 全栈项目实战(源码+数据库+万字说明文档)
数据库·vue.js·spring boot
C4程序员3 小时前
Java百度身份证识别接口实现【配置即用】
java·开发语言
炒空心菜菜4 小时前
MapReduce 实现 WordCount
java·开发语言·ide·后端·spark·eclipse·mapreduce