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

相关推荐
badhope5 分钟前
Docker从零开始安装配置全攻略
运维·人工智能·vscode·python·docker·容器·github
用户03321266636729 分钟前
使用 Python 复制 Excel 工作表
python
JaydenAI43 分钟前
[LangChain之链]RunnableCallable——将“自由定义”的函数变成标准组件
python·langchain·ai编程
GinoWi1 小时前
Chapter 3 - Python列表
python
姚生1 小时前
Tushare全解析:金融量化分析的数据基石
大数据·python
Hi202402171 小时前
如何从互联网上免费下载歌曲
python·自动化
2401_898075121 小时前
Python在金融科技(FinTech)中的应用
jvm·数据库·python
老师好,我是刘同学1 小时前
选择排序原理与Python实现
python·排序算法
wmfglpz882 小时前
NumPy入门:高性能科学计算的基础
jvm·数据库·python
如若1232 小时前
WSL2安装Ubuntu完整教程:自定义安装目录到D盘(--location一键搞定)
linux·运维·服务器·pytorch·python·ubuntu·计算机视觉