FastAPI 中间件

FastAPI 中间件

中间件 是一个函数,它与每个请求一起处理(在被任何特定路径操作处理之前),也与每个响应一起处理,然后再返回。这个函数接收每个来到你的应用程序的请求。它可以通过运行其中定义的代码对请求进行一些处理,然后将请求传递给相应的操作函数来处理。它也可以在返回之前处理由操作函数产生的响应。

以下是FastAPI库中可用的一些中间件-

  • CORSMiddleware

  • HTTPSRedirectMiddleware

  • 可信赖的主机中间件(TrustedHostMiddleware

  • GZipMiddleware

FastAPI提供 app.add_middleware() 函数来处理服务器错误和自定义异常处理程序。除了上述集成的中间件外,还可以定义一个自定义的中间件。下面的例子定义了 addmiddleware() 函数,并通过使用 @app.middleware() 装饰器将其装饰成一个中间件

该函数有两个参数,HTTP请求对象和 call_next() 函数,该函数将发送API请求到其对应的路径并返回一个响应。

除了中间件函数外,应用程序还有两个操作函数。

import time
from fastapi import FastAPI, Request
app = FastAPI()
@app.middleware("http")
async def addmiddleware(request: Request, call_next):
   print("Middleware works!")
   response = await call_next(request)
   return response
@app.get("/")
async def index():
   return {"message":"Hello World"}
@app.get("/{name}")
async def hello(name:str):
   return {"message":"Hello "+name}

随着应用程序的运行,对于浏览器提出的每个请求,中间件的输出(中间件工作!)将出现在控制台日志中,在响应输出之前。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程