我有一个基于FastAPI的API网关服务和一些特定的服务(如插件)来连接它。其中之一是Auth服务,它处理用户帐户和访问令牌。例如Auth服务想告诉AG他提供的新功能,并在运行时在AG中注册新端点。
我看到以下步骤:
- Auth在AG中创建新端点,例如
/new_endpoint
;
1.所有发往http://AG/new_endpoint
的流量都将重定向到http://Auth/...
我查看了FastAPI.add_api_route
方法来添加新端点。它在运行时工作-我使用curl检查。
刷新http://AG/docs
页面后没有效果,因为OpenAPI架构已缓存。我希望重新生成OpenAPI架构并在OpenAPI页面上看到/new_endpoint
。
1条答案
按热度按时间bfrts1fy1#
我想我找到了如何重新生成OpenAPI模式的解决方案。
1.删除缓存
app.openapi_schema = None
1.重新生成架构
app.setup()
1.打开
http://AG/docs
。只有一个端点可用。1.按下“Try it out”(试用)并使用建议的参数执行
POST /register/endpoint
。1.刷新
http://AG/docs
-现在您可以看到/new_endpoint
。1.调用
GET /new_endpoint
并检查响应是否正确。这个解决方案有点难看,但是很有效!我认为调试它非常困难!