首页 文章

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

提问于
浏览
3

我正在尝试使用Google Cloud Endpoints在与我的API相同的Nodejs应用程序中发布我的API文档 .

按照本指南看起来很容易:Adding Swagger UI

棘手的部分是通过Google Cloud Endpoints暴露 /docs 路径(它也使用相同的 openapi.yaml ) .

我已经尝试在我的 openapi.yaml 中定义 /docs 路径,如下所示:

"/docs":
    get:
      description: "Swagger UI API documentation"
      operationId: "docs"
      produces:
        - "text/html"
      responses:
        200:
          description: "Swagger UI"

HTML页面本身得到了提供,但找不到像 swagger-ui.css 这样的任何资产 .

它看起来我做错了,因为文档不是API endpoints . 但是我找不到一个好的解决方案 . 有没有办法代理 /docs 路径的所有流量?

2 回答

  • 2

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

  • 2

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

    or 你可以添加

    x-google-allow:全部

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

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

相关问题