【问题标题】:How to access AWS API Gateway documentation using Swagger UI如何使用 Swagger UI 访问 AWS API Gateway 文档
【发布时间】:2019-01-15 20:42:33
【问题描述】:

我使用 AWS Api Gateway 创建了 API。然后我记录了所有实体的文档部分(如 API、资源、方法、模型等)。然后使用 AWS Gateway 控制台,我已将文档发布到 dev 阶段,版本为 1

但我不确定我(或 API 的使用者)将如何访问文档?

有一个Export 选项可以将文档导出为SwaggerOpenAPI3。这将创建.json.yaml 文件,然后消费者必须将这些文件导入swagger UI。但是,每次我向所有消费者更新文档时,都提供 swagger 文件,这不是用户友好的选项。

我想知道,在发布文档后,消费者是否可以直接通过 http 访问文档。所以让我们假设我的dev stage api URL 是 https://devapi.example.com/v1 所以像 https://devapi.example.com/v1/help 这样的东西应该使用最新发布的 swagger 文件启动 Swagger UI

更新 1
在 ASP.NET Web API 或 .NET Core 中,您可以包含 Swashbuckle,它可以创建 swagger 文件,并且还具有 Swagger UI 工具的嵌入式版本。因此,在部署 API 后,用户可以直接从 UI 访问文档,例如 https://devapi.example.com/swagger
我希望来自 AWS 网关的同样的事情。发布文档后,它应该通过一些预定义的资源路径使该文档可用。

【问题讨论】:

  • 我认为这是一个真正的问题。我在 AWS 中找不到任何信息。想解释一下为什么对这个问题投了反对票?
  • 如果 API Gateway 在文件位置上符合 OpenAPI 3“应该”子句,您可以尝试 openapi.jsonopenapi.yaml
  • 我的问题我没问对。我想知道 AWS API Gateway 是否可以使用 Swagger UI 显示文档?开箱即用

标签: amazon-web-services aws-sdk aws-api-gateway


【解决方案1】:

AWS API Gateway 只能使文档可导出,但不会呈现 UI 应用程序。网关中没有可用于呈现文档的端点。您可能希望使用第三方工具或AWS API Gateway Developer Portal 允许用户浏览 API 文档。你可能会发现这个blog 很有帮助。

【讨论】:

  • 谢谢 A.Khan ;-) 这篇博文现在有点过时了,最好去开发者门户(上面链接)并按照自述文件进行操作。
  • 我很高兴你发现这个答案很有用,Mike ;)
【解决方案2】:

Micro Swagger 从 Amazon API Gateway 导入 swagger 规范并从中提供一个 swagger UI。

您可以让它在 EC2 实例上运行:

npm i -g micro-swagger
micro-swagger start

它将使用实例的 IAM 角色从 API Gateway 下载 Swagger 规范。您的 CI/CD 管道可以在部署时重新启动/刷新 Micro Swagger。您的客户可以在实例的域中查看最新的 API 文档。

【讨论】:

  • 虽然这可能会解决问题,但它并没有解释为什么或如何回答这个问题。请include an explanation,因为这确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出建议的原因。
  • @SamuelPhilipp,我已经更新了答案以包含解释。
猜你喜欢
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
  • 2018-01-12
  • 1970-01-01
  • 1970-01-01
  • 2020-02-20
  • 2019-03-17
  • 2019-06-09
相关资源
最近更新 更多