目录
一、当前路由的过滤器、DefaultFilter、GlobalFilter 三种过滤器的执行顺序
一、当前路由的过滤器、DefaultFilter、GlobalFilter 三种过滤器的执行顺序
请求路由后,会将当前路由过滤器和DefaultFilter、GlobalFilter,合并到一个过滤器链(集合)中,排序后依次执行
请求路由后,会将当前路由过滤器和DefaultFilter、GlobalFilter,合并到一个过滤器链(集合)中
![](https://img-blog.csdnimg.cn/direct/46e5893bcf6a4077aa1b9fd8837bcc64.png)
对GatewatFilter排序后,依次执行每个过滤器
二、执行逻辑
- 每一个过滤器都必须指定一个int类型的order值,order值越小,优先级越高,执行顺序越靠前
- GlobalFilter通过实现Ordered接口,或者添加@Order注解来指定order值,由我们自己指定
- 路由过滤器和defaultFilter的order由Spring指定,默认是按照声明顺序从1递增
- 当过滤器的order值一样时,会按照 defaultFilter >路由过滤器>GlobalFilter的顺序执行