gpt4 book ai didi

swagger - 如何合并多个 OpenAPI 规范?

转载 作者:行者123 更新时间:2023-12-03 23:07:44 69 4
gpt4 key购买 nike

我在这里四处寻找解决方案,如何将多个 OpenApi v3 组件定义合并到一个文件中。

让我们想象一种情况:

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

  • 所以,问题是 - 如何在我的 blueprint.v1.yaml 文件中重用已定义的组件块(称为 components.v1.yaml 的文件)?

    附言每个 components.v1.yaml 看起来像这样:
    components.v1.yaml content

    例如, location-create-single.v1.yaml 路径定义如下图所示。提到,所有 $ref 都是指 components.v1.yaml 文件。
    enter image description here

    最佳答案

    我认为您的问题没有“ native ”OpenAPI 解决方案。 People are discussing for a while about OpenAPI overlays/extends/merges 。目前(2020-04-24)没有关于这个话题的任何共识。

    尽管您可以实现自己的工具 or use an existing one 来预处理您的 blueprint.v1.yaml 并生成“合并的 OAS”。

    关于swagger - 如何合并多个 OpenAPI 规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61262561/

    69 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com