自定义过滤器
如果需要自定义过滤器,可以参考以下demo进行处理
需要注意拦截器执行顺序,网关拦截器执行顺序是通过getOrder()
返回值大小决定,值越小越先执行
系统默认过滤器执行顺序如下:
- 请求来源过滤器
-100
- ip黑名单/白名单过滤器
-90
- 限流过滤器
-80
- 商户过滤器
-70
- token转换过滤器
-60
- 权限过滤器
-50
- 数据权限过滤器
-40
- 幂等过滤器
-30
- 二次验证过滤器
-20
- 参数过滤器
-1
@Component
@RefreshScope
public class IpFilter implements GlobalFilter, Ordered {
@Override
public int getOrder() {
return 0;
}
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
//业务处理
return ResponseHelper.pass(exchange, chain);
}
}