解决方法
不采用注解,使用实现接口Ordered的方式。
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.util.StopWatch;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
/**
* @Author 4506
* @Date 2021-6-28 17:51
* @Version 1.0
* @Desc
*/
@Component
public class GlobalLogFilter implements GlobalFilter, Ordered {
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
StopWatch sw = new StopWatch();
sw.start();
Mono<Void> filter = chain.filter(exchange);
sw.stop();
System.out.println(sw.prettyPrint());
return filter;
}
@Override
public int getOrder() {
return 8888;
}
}
一下是springcloudgateway中GlobalFilter实现类,也采用的是这种方式