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

相关推荐
知远同学9 分钟前
Anaconda的安装使用(为python管理虚拟环境)
开发语言·python
Blossom.11821 分钟前
AI编译器实战:从零手写算子融合与自动调度系统
人工智能·python·深度学习·机器学习·flask·transformer·tornado
热爱专研AI的学妹1 小时前
数眼搜索API与博查技术特性深度对比:实时性与数据完整性的核心差异
大数据·开发语言·数据库·人工智能·python
simon_skywalker1 小时前
FastAPI实战笔记(一) 基本介绍与简单操作
fastapi
Mr_Chenph1 小时前
Miniconda3在Windows11上和本地Python共生
开发语言·python·miniconda3
智航GIS4 小时前
5.1 if语句基础
开发语言·python
华研前沿标杆游学4 小时前
2026年湖南省工业旅游线路
python
wang6021252184 小时前
阿里云存储的一些简要概述
数据库·阿里云·fastapi
APIshop4 小时前
深入解析京东API接口:如何高效获取商品详情与SKU信息
python
94621931zyn64 小时前
备份恢复 - Cordova 与 OpenHarmony 混合开发实战
python