版本:2.0.2.RELEASE
链接:http://spring.io/projects/spring-cloud-gateway#overview
本章主要目录如下:
Spring Cloud Gateway全局过滤器是什么?
本章主要内容如下:
Spring Cloud Gateway全局过滤器是什么?
GlobalFilter 接口与 GatewayFilter 具有相同的签名。这些是有条件地应用于所有路由的特殊过滤器。(这个接口和用法在未来里程碑中会发生变化)。
-
组合的全局过滤器和网关过滤器排序
当请求进入(并匹配到一个路由)时,Filtering Web Handler 会将 GlobalFilter 的所有实例和 GatewayFilter 的所有路由特定实例添加到过滤器链中。这个组合的过滤器链由org.springframework.core.Ordered 接口排序,可以通过实现 getOrder()方法或使用@Order 注释来设置。
由于 Spring Cloud Gateway 对过滤器逻辑执行的“pre”阶段和“post”阶段进行了区分(参见:如何工作),优先级最高的过滤器将是“pre”阶段的第一个,而“post”阶段是最后一个。
ExampleConfiguration.java.
@Bean
@Order(-1)
public GlobalFilter a() {
return (exchange, chain) -> {
log.info("first pre filter");
return chain.filter(exchange).then(Mono.fromRunnable(() -> {
log.info("third post filter");
}));<