FastAPI系列-11-中间件与依赖注入的区别
中间件与依赖注入的核心区别在于触发时机和可见范围:中间件作用于整个ASGI调用栈,在路由匹配前即执行,覆盖所有请求(包括404和异常),适合协议级的全站横切需求(如访问日志、CORS、请求ID);依赖注入仅在路由匹配成功后解析,仅对特定端点生效,适合业务级复用(如分页、当前用户、数据库会话)。选型遵循三条原则:协议级需求走中间件,业务级需求走依赖,跨层数据通过`request.scope`传递以保持两者职责分离。两者并非替代而是协作关系,中间件提供请求维度,依赖提供业务维度。
2026-06-24
|
12
|
0
|
0
