FastAPI 学习之路(三十)中间件

本文介绍了中间件的概念及其在HTTP请求处理中的作用,详细讲解了如何在FastAPI中创建一个中间件,包括其工作流程和装饰器用法。示例展示了一个添加处理时间响应头的中间件,并展示了实际接口调用后的响应结果,帮助读者理解中间件的实现和应用。

什么是中间件呢?“中间件”是一个函数,它在每个请求被特定的路径操作处理之前,以及在每个响应返回之前工作。

1. 它接受你的应用程序的每一个请求

2. 它可以对这个请求做一些事情或者执行任何需要的代码

3. 它将请求传递给应用程序的其他部分(通过某种路径操作)

4. 它获取应用程序生产的响应(通过某种路径操作)

5. 它可以对响应做些什么或者执行任何需要的代码

6. 它返回这个响应

那么看下如何创建中间件?

要创建中间件你可以在函数的顶部使用装饰器@app.middleware("http") 

中间件接受如下参数:

        1. request,不能省略

        2. 一个函数 call_next,它将接收request作为参数

                这个函数将request传递给响应的路径操作

                然后它将返回由响应路径操作生成的response

        3.然后你可以在返回response前进一步修改它

我们去实现一个中间件

from fastapi import FastAPI, Request
import time

app = FastAPI()

@app.middleware("http")
async def add_process_time_header(
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值