【问题标题】:Hiding an endpoint/request type in swagger documentation: AWS Api Gateway, Swagger-UI or another approach?在 swagger 文档中隐藏端点/请求类型:AWS Api Gateway、Swagger-UI 还是其他方法?
【发布时间】:2021-04-21 23:55:28
【问题描述】:

所以我们的团队有问题。

在此之前,有一点背景知识。我们有一个面向客户的 API,附带一个 API 文档页面。此文档页面是一个独立的应用程序,它使用 AWS 开发工具包从 AWS 获取 API 文档。每当我们对上述 API 进行更改时,我们都会更新一个 yaml 文件并使用以下命令进行部署

aws apigateway put-rest-api --rest-api-id XXXXXX --cli-binary-format raw-in-base64-out --mode merge --body 'file://Api.yaml'

aws apigateway create-deployment --rest-api XXXXXX --stage-name foostage

aws apigateway update-stage --stage-name foostage --rest-api-id XXXXXX --patch-operations "op=replace,path=/documentationVersion,value=$current_version" 其中$current_version 是第一步部署的版本

我相信第一个命令使用Api.yaml更新我们的rest api的定义,第二个命令将API的最新版本部署到API网关,最后一个命令是部署$current_version,版本是由put-rest-api 命令创建,文档到指定阶段。

如前所述,我们的文档应用程序与 AWS 联系以获取文档,然后我们使用 swagger-ui 来呈现 swagger 文档。

回到问题。我们有一个端点(将来可能会有更多)需要从文档中隐藏,但仍需要包含在 API 网关中并且可以调用。我想知道最好的方法是什么? swagger-ui 组件中是否有功能或在文档中省略端点的方法?我目前的方法是蛮力,从我们提供给 swagger-ui 组件的 json 中删除端点。想知道有没有其他方法

【问题讨论】:

    标签: aws-api-gateway swagger-ui


    【解决方案1】:

    我们最终在前端层省略了端点,我们从 AWS 中提取文档,然后过滤文档并省略端点,然后将文档设置为 swagger-ui 插件实现的一部分。据我所知,目前没有通过 swagger-ui 或 AWS 省略端点的干净方法。

    【讨论】:

      最近更新 更多