通过Google Cloud Endpoints公开Swagger-UI文档

时间:2017-12-04 14:36:56

标签: google-cloud-endpoints swagger-ui gcloud openapi

我正在尝试使用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路径的所有流量?

2 个答案:

答案 0 :(得分:2)

我认为你会发现没有好办法做到这一点。您最好的选择是将文档发布作为部署管道中的单独步骤中断。那,或等待6个月。谷歌云正在迅速发展,他们可能已经在他们的路线图中实现了这一点。

答案 1 :(得分:2)

您可以尝试在一个文件(index.html)中创建Swagger UI dist

您可以添加

  

x-google-allow:all

在openapi.yaml文件中

以公开所有未设置任何形式身份验证的路径。请注意,这将允许.yaml文件的基本路径之后的所有路径都在您的端点中公开。 (例如,如果您的基本路径为a[i],那么/api将仅适用于此后的路径(即x-google-allow: all

另请参阅:https://groups.google.com/forum/#!topic/google-cloud-endpoints/2h-2fotar9k