【Python开发】FastAPI 09:middleware 中间件及跨域
from fastapi import FastAPI
from starlette.requests import Request
from starlette.responses import JSONResponse
app = FastAPI()
# 跨域中间件
@app.middleware("http")
async def cors_middleware(request: Request, call_next):
response = await call_next(request)
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Methods"] = "GET,POST,PUT,DELETE,OPTIONS"
response.headers["Access-Control-Allow-Headers"] = "X-Requested-With,Content-Type,Accept,Authorization"
return response
@app.get("/")
async def main():
return JSONResponse({"message": "Hello World"})
这个示例代码展示了如何在FastAPI应用中使用中间件来处理跨域请求。在这个中间件中,我们对每个响应添加了必要的跨域头,允许任何来源的GET、POST、PUT、DELETE和OPTIONS请求。这是一个简单的跨域处理示例,实际应用中可能需要根据具体需求进行更复杂的配置。
评论已关闭