本文基于 spring cloud gateway 2.0.1
1、简介
GatewayFilter 网关过滤器用于拦截并链式处理web请求,可以实现横切的与应用无关的需求,比如:安全、访问超时的设置等。
从类图中可以看到,GatewayFilter 有三个实现类:
-
OrderedGatewayFilter 是一个有序的网关过滤器
-
GatewayFilterAdapter 是一个适配器类,是web处理器(FilteringWebHandler)中的内部类
-
ModifyResponseGatewayFilter 是一个内部类,用于修改响应体
本文就分别介绍一下网关过滤器的实现类。
2、有序的网关过滤器 OrderedGatewayFilter
过滤器大多都是有优先级的,因此有序的网关过滤器的使用场景会很多。在实现过滤器接口的同时,有序网关过滤器也实现了 Ordered 接口,构造函数中传入需要代理的网关过滤器以及优先级就可以构造一个有序的网关过滤器。具体的过滤功能的实现在被代理的过滤器中实现的,因此在此只需要调用代理的过滤器即可。
public class OrderedGatewayFilter implements GatewayFilter, Ordered {
private final GatewayFilter de