Spring Cloud组合的全局过滤器和GatewayFilter排序
2024-01-05 16:34 更新
当有请求进入(并与路由匹配)时,过滤Web处理程序会将GlobalFilter
的所有实例和GatewayFilter
的所有特定于路由的实例添加到过滤器链中。该组合的过滤器链通过org.springframework.core.Ordered
接口排序,可以通过实现getOrder()
方法进行设置。
由于Spring Cloud网关区分执行过滤器逻辑的“前”阶段和“后”阶段(请参阅:工作原理),因此,具有最高优先级的过滤器将在“前”阶段中处于第一个阶段,在“阶段”中处于最后一个阶段。 “后期”阶段。
ExampleConfiguration.java。
@Bean public GlobalFilter customFilter() { return new CustomGlobalFilter(); } public class CustomGlobalFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { log.info("custom global filter"); return chain.filter(exchange); } @Override public int getOrder() { return -1; } }
以上内容是否对您有帮助:
更多建议: