gateway的config目录下创建两个过滤器:
实现接口GlobalFilter 得到filter类 用于拦截
实现接口Ordered 得到 getOrder()方法 用于实现多个过滤器的执行顺序 (从小到大的顺序)
@Component
public class Test1Filter implements GlobalFilter , Ordered {
private static final Logger LOG = LoggerFactory.getLogger(Test1Filter.class);
@Override
// Mono 是 事件编程的一个类 chain 是过滤器的链条
public Mono
LOG.info("Test1Filter");
// 成功返回过滤器
return chain.filter(exchange);
// 拦截过滤器 让过滤器失败 请求结束
// return exchange.getResponse().setComplete();
}
@Override
public int getOrder() {
return 0;
}
}
@Component
public class Test2Filter implements GlobalFilter , Ordered {
private static final Logger LOG = LoggerFactory.getLogger(Test2Filter.class);
@Override
// Mono 是 事件编程的一个类 chain 是过滤器的链条
public Mono
LOG.info("Test2Filter");
// 成功返回过滤器
return chain.filter(exchange);
// 拦截过滤器 让过滤器失败 请求结束
// return exchange.getResponse().setComplete();
}
@Override
public int getOrder() {
return 1;
}
}
文章链接
发表评论