我使用AWS Api Gateway创建了API。然后我记录了所有实体的文档部分(如API,RESOURCE,METHOD,MODEL等)。然后使用AWS Gateway Console我已将文档发布到版本为dev
的1
阶段
但我不确定我(或API的消费者)如何访问文档?
有一个Export
选项,可以导出文档为Swagger
或OpenAPI3
。这将创建.json
或.yaml
文件,然后消费者必须将这些文件导入到swagger UI中。但是,每次向所有消费者更新文档时,这都不是用户友好的选项来提供swagger文件。
我想知道,在发布文档之后,消费者无论如何都可以直接通过http访问文档。因此,假设我的dev
阶段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只能使文档可导出,但不会呈现UI应用程序。您无法在网关中使用端点来呈现文档。您可能希望使用第三方工具或AWS API Gateway Developer Portal来允许用户浏览API文档。你可能会发现这个blog很有帮助。
你可以试试https://www.npmjs.com/package/micro-swagger
npm i -g micro-swagger
micro-swagger start