如何将多个 OpenAPI 3 规范文件组合在一起?

2023-12-04

我想合并使用 OpenAPI 3 规范编写的 API 规范,该规范当前分为多个文件,这些文件相互引用$ref。我怎样才能做到这一点?


我最近写了一个快速工具来做到这一点。我称之为 openapi-merge。有一个库和一个关联的 CLI 工具:

  • https://www.npmjs.com/package/openapi-merge
  • https://www.npmjs.com/package/openapi-merge-cli

为了使用 CLI 工具,您只需编写一个配置文件,然后运行npx openapi-merge-cli。配置文件相当简单,看起来像这样:

{
  "inputs": [
    {
      "inputFile": "./gateway.swagger.json"
    },
    {
      "inputFile": "./jira.swagger.json",
      "pathModification": {
        "stripStart": "/rest",
        "prepend": "/jira"
      }
    },
    {
      "inputFile": "./confluence.swagger.json",
      "disputePrefix": "Confluence",
      "pathModification": {
        "prepend": "/confluence"
      }
    }
  ], 
  "output": "./output.swagger.json"
}

有关更多详细信息,请参阅NPM 包上的自述文件.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将多个 OpenAPI 3 规范文件组合在一起? 的相关文章

随机推荐

  • 正在读取 GifBitmapDecoder 的 Metadata 属性...为什么它为空?

    如何读取 gif 每一帧的延迟 左侧和顶部偏移数据 我已经走到这一步了 加载 GIF 动图 var myGif new GifBitmapDecoder uri BitmapCreateOptions PreservePixelFormat
  • 如何制作不和谐机器人循环音频? [不和谐.py]

    我想让机器人播放一段音频 当音频结束时 它将重播该音频 我拥有的 client command async def play ctx await ctx channel purge limit 1 channel ctx author vo
  • 将 set/get 请求映射到 C++ 类/结构更改

    我试图找出这里最好的方法是什么 基本上我有一个系统 我可以在其中接收外部请求 以便在模型中设置 获取值 问题是我的模型由可以嵌套的 C 类组成 而请求是简单的 键 值 对 例如 struct Foo void setX int x int
  • 每像素 Alpha 混合

    相当长一段时间以来 我一直在尝试实现某种允许 PNG 图像透明的形式 我正在使用 C 工作 我找到了一个很好的项目 它通过每像素 alpha 混合实现这一点 并通过将图像更改为位图并使用 alpha 层仅显示不透明的部分 然后将其更新为更新
  • Android - 来自 Choreographer 的跳过帧消息

    在我的应用程序中 我收到了来自 Choreographer 的许多跳帧消息 因此 我开始一一检查 当我单击 MainActivity 页面上的默认菜单按钮时 我非常惊讶地看到 76 跳帧 为了找出问题所在 我注释掉了 MainActivit
  • 使用 Hibernate 和 SQL Server 2008 时出现问题

    我在使用 Hibernate 和 SQL Server 2008 时遇到问题 当我尝试将对象保存到数据库时 Hibernate 会抛出以下错误 could not retrieve snapshot com my MyClass Cause
  • 使用 jQuery (window).scroll 淡入淡出 HTML5 音频(调整音量)

    我正在尝试制作一个页面 该页面使用 html5 音频在后台循环播放声音文件 并在用户向下滚动时淡出 理想情况下 当用户向上滚动时 它也会淡入 我知道我还很遥远 但这是我正在处理的事情 html
  • 这是一个类、构造函数还是方法? [复制]

    这个问题在这里已经有答案了 我很难确定这到底是什么 至此 我已经熟悉了方法 构造函数和类声明的样子 这是哪个 为什么看起来像一个构造函数和一个方法生了一个孩子 public Polygon polygonFrom Point corners
  • 简单的日期格式化程序返回不正确的格式。格式化后扣除日期[重复]

    这个问题在这里已经有答案了 我正在尝试使用 SimpleDateFormat 解析日期 日期解析成功但是输出日期格式不正确或者减去了一年 使用SimpleDateFormat的Date方法如下所示 public Date parseDate
  • 具有可更新 JProgressBar 的 Java Swing 线程

    首先 我最近一直在使用 Java 的并发包 但我发现了一个我遇到的问题 我想要一个应用程序并且该应用程序可以有一个SplashScreen带有状态栏和其他数据的加载 所以我决定使用SwingUtilities invokeAndWait c
  • 为什么我的对象打印了两次?

    当我在 irb 或 Rails 中时 我使用以下命令创建一些迭代each 我在终端或浏览器中再次打印整个结构 例子 a 1 2 3 4 a each do number puts n end irb 终端或浏览器中的结果 1 2 3 4 g
  • 调用 object.method() 和 Class.method(object) 时幕后发生了什么?

    我对 Python 还很陌生 正在处理 OOP 我对何时使用对方法和类的调用有点困惑 下面的示例代码输出平均值 但是我很好奇什么时候从类调用与从现实世界的角度使用方法调用 我很确定这只是我可能尚未解决的问题 但对于何时使用其中一个而不是另一
  • 最小购物车金额(WooCommerce 中的几种特定产品除外)

    我正在使用以下代码 Woocommerce 中除特定产品外的最低购物车金额 在我的 php 中 允许覆盖 Woocommerce 最低购物车价值 130 美元 工作正常 但仅适用于一种定义的产品 在这种情况下product id 2649
  • 在 Firebase 中过滤多个子属性的产品

    我最近询问如何根据产品的子属性过滤产品 请参阅 根据 Firebase 中的子项过滤产品 回顾一下我的结构如下 products product1 author 12345 title Awesome category catA descr
  • 如何正确关闭和打开 Hibernate 会话?

    我有以下方法 每隔几秒插入一大批记录 运行一段时间后 我收到如下错误 错误 通信链路故障 从服务器成功接收到的最后一个数据包是 523 毫秒前 最后一个成功发送到服务器的数据包是 8 毫秒前 2013 年 5 月 16 日上午 9 48 3
  • Doctrine2 最佳实践,实体应该使用服务吗?

    我不久前问过类似的问题 使用数据映射器模式 实体 域对象 是否应该了解映射器 然而 它是通用的 并且我对如何使用 Doctrine2 完成一些事情非常感兴趣 这是一个简单的示例模型 每个Thing可以有一个Vote from a User
  • 如何仅在脚本运行期间设置环境变量?

    在 Linux 上 乌班图11 04 Natty Narwhal 在 Bash 中 是否可以临时设置一个仅在脚本运行期间与普通变量不同的环境变量 例如 在 shell 脚本中 通过将 HOME 临时设置为当前工作目录中的文件夹 然后启动该应
  • Xampp 1.7.4 和 PHP 5.3.5(已弃用的警告)

    我刚刚将 Xampp 安装升级到 1 7 4 我有一个工作脚本 jquery 调用 PHP 脚本并显示返回值 升级后 我的 jquery 正确获取了结果 但除了结果之外 还返回了一些警告 因此停止我的脚本以显示结果 我签入了 firebug
  • 如何向 POI 4.0.1 中的 XDDFChart 添加带有第二轴的第二条线?

    我无法在现有图表的第二个轴 右轴 上添加线条 有没有办法通过 POI 4 0 0 1 中图表的新实现来做到这一点 Desired output will look like this A simple excel chart with 2
  • 如何将多个 OpenAPI 3 规范文件组合在一起?

    我想合并使用 OpenAPI 3 规范编写的 API 规范 该规范当前分为多个文件 这些文件相互引用 ref 我怎样才能做到这一点 我最近写了一个快速工具来做到这一点 我称之为 openapi merge 有一个库和一个关联的 CLI 工具