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

相关推荐
唐叔在学习4 分钟前
TodoList:我的待办助手
python·程序员·ai编程·待办应用
郝学胜-神的一滴35 分钟前
深度学习损失函数:从原理到实战之 Smooth L1 Loss
人工智能·pytorch·python·深度学习·机器学习·数据挖掘
hhzz38 分钟前
第1天:初识Python
开发语言·python·学习编程
黄粱梦醒1 小时前
UV快速搭建新项目
python
小学生-山海1 小时前
【YOLO系列】基于YOLOv8/v11/v26与tkinter的车流量统计系统设计
python·yolo
szial1 小时前
Python Click 教程:从函数到专业命令行工具
开发语言·python
u0119608231 小时前
ray 依赖分发
python
lbb 小魔仙2 小时前
Ollama 本地部署大模型 + Python API 集成开发完整教程(2026最新版,含 GPU 加速配置)
开发语言·python
DanCheng-studio2 小时前
毕设分享 深度学习遮挡下的人脸识别(源码+论文)
python·毕业设计·毕设
小妖同学学AI2 小时前
告别手动盯盘!开源框架Freqtrade,教你用Python打造“永不下班”的AI交易员
人工智能·python·开源