以下是一个使用 FastAPI 中间件处理 CORS 的示例:
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
# 添加 CORS 中间件,以处理跨域请求
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # 允许所有来源
allow_credentials=True,
allow_methods=["*"], # 允许所有 HTTP 方法
allow_headers=["*"], # 允许所有 HTTP 头部
)
# 路径操作函数
@app.get("/")
async def read_root():
return {"message": "Hello, World!"}
在这个示例中,CORSMiddleware 中间件被添加到 FastAPI 应用程序中。在中间件的配置中,我们使用了以下参数:
- allow_origins: 允许跨域请求的来源。在示例中,使用 ["*"] 表示允许所有来源,你也可以指定具体的域名或来源列表。
- allow_credentials: 是否允许发送身份凭证(例如 cookies、HTTP 认证)。如果设置为 True,则允许发送身份凭证。
- allow_methods: 允许的 HTTP 方法。在示例中,使用 ["*"] 表示允许所有 HTTP 方法,你也可以指定具体的方法列表(例如 ["GET", "POST"])。
- allow_headers: 允许的 HTTP 头部。在示例中,使用 ["*"] 表示允许所有 HTTP 头部,你也可以指定具体的头部列表。
使用这个中间件后,FastAPI 将自动处理预检请求(OPTIONS 请求)和主请求,确保你的应用程序能够正确处理跨域请求。
注意:在实际生产环境中,请根据你的应用程序需求和安全策略,配置 CORS 中间件的参数。不建议在生产环境中使用 allow_origins=["*"],因为这可能会引起安全问题。指定明确的来源是更安全的做法。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7395/FastAPI