如何合并多个OpenAPI规范?

我在这里挖来挖去,试图找到一个解决方案,如何将多个OpenApi v3组件定义合并到一个文件中。

让我们想象一下这样的情况。

  1. 您决定将您的OpenApi分割成多个文件在不同的文件夹中。(见下图)project structure
  2. 现在您需要将所有的 components.v1.yaml 组合成一个单一的模式(我将它命名为 blueprint.v1.yaml). 通常情况下,我使用 swagger-cli 合并所有 $ref 依赖关系,但现在不是这样的情况,因为我不能引用整个 componentsschemas 对象列表。blueprint.v1.yaml content
  3. 并使用它来建立一个单一的OpenApi文件,其中包含所有的字段:信息、组件、路径等,并通过一个 swagger-cli bundle 工具。

因此,问题是–如何在我的 blueprint.v1.yaml 文件?

P.S. 每一个 components.v1.yaml 看起来像这样。components.v1.yaml content

和一个,例如: location-create-single.v1.yaml 路径定义如下图所示。需要注意的是,所有 $ref 指的是 components.v1.yaml 文件。enter image description here

解决方案:

我不认为有一个 “原生的 “OpenAPI解决方案来解决你的问题。人们已经讨论了一段时间关于OpenAPI覆盖扩展合并的问题。. 目前(2020-04-24)还没有任何关于这个话题的共识。

虽然你可以实现自己的工具 或使用现有的 来预处理您的 blueprint.v1.yaml 并产生 “合并的美洲国家组织”.

给TA打赏
共{{data.count}}人
人已打赏
未分类

无法在希伯来语上获得元旦标题(在胡言乱语上获得)。

2022-9-9 3:07:20

未分类

数据类型名称与varialble名称相同,这在Java中是如何工作的?

2022-9-9 3:07:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索