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

相关推荐
架构师老Y7 小时前
006、异步编程与并发模型:asyncio与高性能后端
python
清水白石0087 小时前
《解锁 Python 潜能:从核心语法到 AI 服务层架构的工业级进阶与实战》
人工智能·python·架构
kcuwu.7 小时前
Python数据分析三剑客导论:NumPy、Pandas、Matplotlib 从入门到入门
python·数据分析·numpy
weixin_513449967 小时前
walk_these_ways项目学习记录第七篇(通过行为多样性 (MoB) 实现地形泛化)--核心环境下
人工智能·python·学习
南 阳7 小时前
Python从入门到精通day64
开发语言·python
蓝天守卫者联盟17 小时前
如何选择二氯甲烷回收设备厂家:技术路线与市场格局深度解析
大数据·人工智能·python·sqlite·tornado
蓝色的杯子7 小时前
Python面试30分钟突击掌握
python
qq_20815408858 小时前
瑞树6代流程分析
javascript·python
好运的阿财8 小时前
大模型热切换功能完整实现指南
人工智能·python·程序人生·开源·ai编程
爱码小白8 小时前
数据库多表命名的通用规范
数据库·python·mysql