我正在尝试使用Google Cloud Endpoints在与我的API相同的Nodejs应用程序中发布我的API文档。
按照本指南看起来很容易:Adding Swagger UI
棘手的部分是通过Google Cloud Endpoints暴露/docs
路径(它也使用相同的openapi.yaml
)。
我试过在我的/docs
中定义openapi.yaml
路径,如下所示:
"/docs":
get:
description: "Swagger UI API documentation"
operationId: "docs"
produces:
- "text/html"
responses:
200:
description: "Swagger UI"
提供HTML页面本身,但找不到像swagger-ui.css
这样的资产。
在我看来,我做错了,因为文档不是API端点。但是我找不到一个好的解决方案。有没有办法代理/docs
路径的所有流量?
我想你会发现没有好办法做到这一点。您最好的选择是将文档发布作为部署管道中的单独步骤中断。那,或等待6个月。谷歌云正在快速发展,他们可能已经在他们的路线图中得到了这个。
您可以尝试在一个文件中创建Swagger UI dist(index.html)
或者你可以添加
x-google-allow:全部
在openapi.yaml文件中,以显示尚未设置任何形式的身份验证的所有路径。请注意,这将允许.yaml文件的基本路径之后的所有路径都在您的端点中公开。 (例如,如果您的基本路径是/api
,那么x-google-allow: all
将仅适用于此后的路径(即/api/users
)
另外,请参阅:https://groups.google.com/forum/#!topic/google-cloud-endpoints/2h-2fotar9k