引言
在前一篇GlobalFilter中剖析了gateway的全局过滤器的设计与实现;全局过滤器是针对于网关而言通用的功能组件实现,采用全局来实现。而对于有些非通用的功能或者面向用户自定义的功能采用全局过滤器实现显然是不合理的,基于此出发开源作者变换了思路,采用工厂模式来即时生产一个自定义或者配置的过滤器来过滤当前的请求。
![473a8c9474c187bcb0bd2e242d400904.png](https://img-blog.csdnimg.cn/img_convert/473a8c9474c187bcb0bd2e242d400904.png)
工厂接口与工厂类依赖图
自上而下分析
gateway声明了一个工厂接口GatewayFilterFactory,此接口继承了ShortcutConfigurable,Configurable接口。默认不支持Configurable接口的操作,需要继承AbstractNameValueGatewayFilterFactory才具备Configuable接口行为。
![dee0893ad3ad60044a7e58eadc2bcd26.png](https://img-blog.csdnimg.cn/img_convert/dee0893ad3ad60044a7e58eadc2bcd26.png)
GatewayFilterFactory
Configurable接口是为了实现一些配置信息(key-value)的使用方便而声明的一个interface,具体作用体现在AbstractNameValueGate