FastAPI+CORS:解决跨域问题的快速方案
跨域问题是前端请求不同域名、端口或协议的后端接口时,因浏览器同源策略被拦截的现象。FastAPI默认不处理跨域,需通过CORS中间件解决。 解决核心是在FastAPI中添加`CORSMiddleware`,关键参数包括:`allow_origins`(允许的前端域名,开发用`["*"]`,生产需指定具体域名)、`allow_credentials`(是否允许跨域携带cookies)、`allow_methods`(允许的HTTP方法)、`allow_headers`(允许的请求头)。 注意生产环境避免`allow_origins=["*"]`,需限制具体域名;允许credentials时需明确`allow_origins`。配置后前端即可正常请求后端接口,如示例中`fetch("http://localhost:8000/api/hello")`会返回数据。 总结:通过配置CORS中间件,可安全解决跨域问题,开发环境灵活,生产环境需严格限制参数。
阅读全文