前言
我们之前分享分享使用FastAPI 学习之路(三十)使用(哈希)密码和 JWT Bearer 令牌的 OAuth2,这次我们来看下中间件。
正文
什么是中间件呢,"中间件"是一个函数,它在每个请求被特定的路径操作处理之前,以及在每个响应返回之前工作.
那么看下如何创建中间件?
要创建中间件你可以在函数的顶部使用装饰器 @app.middleware("http")
.
中间件参数接收如下参数:
request
.call_next
它将接收 request
作为参数.request
传递给相应的 路径操作.response
.response
前进一步修改它.
我们看下如何去实现中间件。
import time
from fastapi import FastAPI, Request
app = FastAPI()
@app.middleware("http")
async def add_process_time_header(request: Request, call_next):
start_time = time.time()
response = await call_next(request)
process_time = time.time() - start_time
response.headers["X-Process-Time"] = str(process_time)
response.headers['leizishuocceshikaifa']="leizishuoceshikaifa"
return response
@app.post("/create")
def post():
return "post"
我们实现一个中间件,
我们去看下接口输出的结果
我们看下接口返回的Headers
我们可以看到,我标记红色的地方,就是我们在请求的中间件中,处理的,默认就给我们返回我们处理后的。
后记
发现问题,解决问题。遇到问题,慢慢解决问题即可。
欢迎关注雷子说测试开发,后续将会持续为大家分享更多的技术知识