FastAPI cors跨域问题解决
问题描述:当我们使用fastapi在本地写完代码之后,部署到服务器上,那么从客户端来调用api是没有问题的
但是前端vue调用的时候,却出现了跨域的问题,报cross-origin Resource sharing error PreflightMissingAllowOriginHeader
前提要知道一件时间:FastAPI默认是不能跨域访问的。
解决思路:如果想跨域访问,需要在初始化app后,增加跨域中间件。
实操:
在main文件中直接添加下面内容即可
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
在代码中所在位置(仅作展示,并非解决方案):