news 2026/7/8 9:19:48

spring cloud里面GlobalFilter和HandlerInterceptor的执行顺序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
spring cloud里面GlobalFilter和HandlerInterceptor的执行顺序

在Spring Cloud(Gateway)中,GlobalFilter 和 HandlerInterceptor 不存在直接的执行顺序比较,因为它们位于请求链路中完全不同的层级和时间点。

GlobalFilter 在 API网关层 执行,而 HandlerInterceptor 在请求到达后端微服务后,于Spring MVC框架内执行。

⏳ 完整请求链路中的执行顺序
一个请求从客户端到后端服务,其完整的执行顺序如下:

客户端 发起请求

API网关层 (Spring Cloud Gateway)

GlobalFilter (前置逻辑): 按 Order 值从小到大执行。

GatewayFilter (路由过滤器, 前置逻辑): 与 GlobalFilter 合并排序后执行。

路由转发: 请求被转发到目标微服务。

GatewayFilter (后置逻辑): 按 Order 值从大到小执行。

GlobalFilter (后置逻辑): 按 Order 值从大到小执行。

后端微服务 (Spring Boot)

Servlet Filter: 标准的Servlet过滤器。

HandlerInterceptor.preHandle(): 在Controller方法执行之前执行。

Controller / 业务逻辑

HandlerInterceptor.postHandle(): 在Controller方法执行之后,视图渲染之前执行。

HandlerInterceptor.afterCompletion(): 在请求完全结束后执行。

响应 返回给客户端

🎯 GlobalFilter 的执行顺序(网关层)
GlobalFilter 的执行顺序由 Ordered 接口的 getOrder() 方法决定,数值越小,优先级越高。

pre 阶段(请求前): Order 值越小,越先执行。

post 阶段(响应后): Order 值越小,越后执行。

Order值相同时的规则
当多个过滤器的 Order 值相同时:

同为 GlobalFilter: 执行顺序可能取决于类文件的加载顺序,不确定。

GlobalFilter vs GatewayFilter: GlobalFilter 会优先执行。

🎯 HandlerInterceptor 的执行顺序(微服务层)
HandlerInterceptor 的执行顺序由注册时的顺序决定。

preHandle(): 按照注册的顺序执行。

postHandle() 和 afterCompletion(): 按照注册的逆序执行。

💎 总结
简单来说,GlobalFilter 在网关层面拦截,HandlerInterceptor 在微服务内部拦截。理解它们在整个请求链路中的不同位置,有助于你更准确地设计全局性的鉴权、日志或路由策略。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 9:19:17

Rust+前端混合开发入门-Tauri2桥接实战

前端工程师不会 Rust?没关系。本文以 WATools 项目为例,手把手教你如何在 Vue 3 前端项目中引入 Rust 后端,实现前后端混合开发。 为什么要混合开发? 传统前端项目(React/Vue)所有逻辑都跑在浏览器里&…

作者头像 李华
网站建设 2026/7/8 9:16:11

如何实现9大网盘直链下载:3分钟快速上手本地解析工具

如何实现9大网盘直链下载:3分钟快速上手本地解析工具 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…

作者头像 李华
网站建设 2026/7/8 9:14:20

别再熬夜写论文了!6款AI论文工具,一键极速生成超长篇幅!

别再做“学术裁缝”触碰学术不端风险了!本文解析论文写作新范式,介绍AI辅助原创、人机协同深化、全流程合规保障三大核心,并推荐6款免费AI论文工具,覆盖全流程生成、深度对话构思、理工科适配、范文参考、文献检索、学术润色翻译等…

作者头像 李华
网站建设 2026/7/8 9:14:17

Firecrawl 智能网页抓取与应用落地指南

在处理非结构化网页数据时,很多开发者都遇到过这样的困境:好不容易写好了爬虫,抓回了海量 HTML 页面,结果发现里面充斥着导航栏、广告脚本、无关的侧边链接,甚至是一堆乱码般的样式代码。当试图将这些“脏数据”直接喂…

作者头像 李华
网站建设 2026/7/8 9:10:52

STM32F746ZG与AD7490构建高精度数据采集系统

1. AD7490与STM32F746ZG的硬件选型考量 在工业测量和嵌入式系统中,模拟信号采集的精度与速度往往决定着整个系统的性能边界。AD7490作为ADI公司推出的16位高速ADC芯片,与STM32F746ZG这款搭载Cortex-M7内核的MCU组合,能够构建出采样率高达1MSP…

作者头像 李华
网站建设 2026/7/8 9:10:05

Golang 入门到云原生实战,免费学习资料整理合集

前言 当下后端、云原生岗位对 Golang 需求持续走高,不管是 PHP、Java 转岗,还是零基础入行后端,Golang都是性价比极高的技术栈。但很多人自学时会遇到资源零散、学习顺序混乱、缺少完整企业项目、云原生部分无从下手等问题。 本文整理一套无…

作者头像 李华