React调用Google ADK API服务器遇CORS问题,如何获取FastAPI实例?
解决Google ADK FastAPI服务的CORS跨域问题
步骤1:获取ADK启动的FastAPI实例
- 定位ADK
api_server的启动源码或模块,ADK内部会初始化FastAPI实例,你可以在自定义代理代码里查找对该实例的引用,或者在ADK核心代码中寻找类似app = FastAPI()的定义。 - 如果是基于ADK做的代理扩展,检查ADK是否提供了内置方法来获取API服务实例(比如
adk.get_api_app()这类接口)。
步骤2:添加CORS中间件配置
拿到FastAPI实例后,直接添加CORSMiddleware,放开Teams React应用的域名权限:
from fastapi.middleware.cors import CORSMiddleware # 替换成你实际获取到的FastAPI实例对象 app = get_adk_fastapi_app() # 允许的源,添加你的React应用地址 allowed_origins = [ "https://localhost:53000" ] app.add_middleware( CORSMiddleware, allow_origins=allowed_origins, allow_credentials=True, allow_methods=["*"], # 适配SSE常用的GET请求,允许所有方法 allow_headers=["*"], # 允许所有请求头 )
- 针对SSE接口,确保
allow_methods包含GET(默认已覆盖),如果请求带身份凭证,allow_credentials必须设为True。
步骤3:重启ADK API服务
停止当前运行的adk api_server进程,重新执行启动命令,让CORS配置生效。
步骤4:验证配置
用浏览器开发者工具的Network面板,查看http://localhost:8000/run_sse请求的响应头,确认是否存在Access-Control-Allow-Origin: https://localhost:53000,存在则配置生效。
内容的提问来源于stack exchange,提问作者San Jaisy
相关产品推荐
相关产品推荐

