fastapi自定义中间件

fastapi自定义中间件

1、自定义中间件类

python 复制代码
from fastapi import Request
from starlette.middleware.base import BaseHTTPMiddleware

class MyMiddleware(BaseHTTPMiddleware):
    def __init__(self, app,*args, **kwargs):
        super().__init__(app,*args, **kwargs)

    async def dispatch(self, request: Request, call_next):
        print("MyMiddleware =============================== ")
        # 接收来自客户端的Request请求;
        headers = dict(request.scope['headers'])
        # 将Request请求传回原路由
        response = await call_next(request)
        return response

2、使用自定义中间件

python 复制代码
app.add_middleware(MyMiddleware)

3、中间件执行顺序,从下往上执行

python 复制代码
app.add_middleware(xx1)
app.add_middleware(xx2)

会先执行xx2再执行xx1

相关推荐
2401_867623983 分钟前
SQL如何进行分组后字符串拼接_使用GROUP_CONCAT或STRING_AGG
jvm·数据库·python
kexnjdcncnxjs6 分钟前
MySQL触发器无法触发的原因分析_MySQL触发器排查指南
jvm·数据库·python
Java后端的Ai之路13 分钟前
CodeBuddy-Rules配置
人工智能·python·ai编程
拾-光18 分钟前
【Git】命令大全:从入门到高手,100 个最常用命令速查(2026 版)
java·大数据·人工智能·git·python·elasticsearch·设计模式
AI玫瑰助手1 小时前
Python流程控制:break与continue语句的区别与应用
开发语言·python·信息可视化
棉猴1 小时前
python海龟绘图之画布与窗口
javascript·python·html·setup·turtle·海龟绘图·screensize
小白学大数据1 小时前
Python 爬虫爬取应用商店数据:请求构造与数据解析
前端·爬虫·python·数据分析
颂love1 小时前
健康打卡系统项目总结
fastapi·sqlalchemy·全栈开发·dify集成
2301_781571421 小时前
NumPy张量缩并怎么用_np.einsum()爱因斯坦求和约定高级索引魔法
jvm·数据库·python
Warson_L2 小时前
python集合类型-set和tuple
python