全局过滤器
@Component
public class MyGlobalFilter implements GlobalFilter, Ordered {
@Override
public Mono<void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
// 前置逻辑
System.out.println("Request Status: " + exchange.getRequest().getStatusCode());
return chain.filter(exchange).then(Mono.fromRunnable(() -> {
// 后置逻辑
System.out.println("Response Status: " + exchange.getResponse().getStatusCode());
}));
// 无后置时return chain.filter(exchange);
}
@Override
public int getOrder() {
return 0; // 越小优先级越高
}
}