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

相关推荐
AOwhisky4 分钟前
Python 学习笔记(第十四期)——运维自动化(下·中篇):远程文件传输——paramiko进阶篇
运维·python·学习·云原生·自动化·文件传输·paramiko
其实防守也摸鱼30 分钟前
补天SRC新手入门指南:从0到1的漏洞挖掘之路
网络·python·学习·安全·web安全·数据挖掘·挖洞
lupai32 分钟前
手机在网状态查询 API 新手实战指南
大数据·python·智能手机
其美杰布-富贵-李1 小时前
Spring Boot 依赖注入说明文档
java·spring boot·python
梦想的初衷~2 小时前
植被遥感反演与数据同化算法体系教程:从PROSAIL前向模拟到作物估产
人工智能·python·机器学习·作物模型·遥感数据同化·prosail·植被参数反演
LadenKiller2 小时前
近期AI协作写量化规则,要按阶段安排任务
人工智能·python
天天进步20152 小时前
Python全栈项目--基于深度学习的图像超分辨率系统
开发语言·python·深度学习
ellenwan20262 小时前
近期AI协作量化实现,先补规则清晰度和流程完整性
人工智能·python
卷无止境2 小时前
Python 类型注解与运行时反射:从原理到工程实践
后端·python
酷可达拉斯3 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算