Spring Cloud Gateway (六) 自定义 Global Filter
简介
在前面五篇的分析中,对 Spring Cloud Gateway 的 filter 组件有了一个大概的认知,今天就练练手,写一个统计请求返回时长的 global filter
思路整理
阅读官方文档和在前面读源码的过程中,大致知道 global filter 需要继承 GlobalFilter 、 Ordered
GlobalFilter : 需要重写 filter 方法,在其中实现自己的处理逻辑,很大部分都是对 exchange 进行操作,取值赋值等等
Ordered : 需要重写 getOrder 方法,决定自定义 filter 在链中的位置,按照数字大小进行的排序
自定义时长统计 filter 编写
这里就简单的借鉴下 GatewayMetricsFilter 的写法,在 filter 链触发完成后,无论失败或者成功,都进行统计。filter 次序就简单的取 WRITE_RESPONSE_FILTER_ORDER 之后(用它定义的次序减一)。代码大致如下:
复制代码
主函数配置运行
需要在主函数中配置 bean,整个代码大致如下:
复制代码
很简单,大致就这些,运行起来,浏览器访问,可以看到下面的输出,over
复制代码
Filter 相关分析记录
版权声明: 本文为 InfoQ 作者【萧】的原创文章。
原文链接:【http://xie.infoq.cn/article/ba38e12e1afbfe936ec6bfc8d】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论