如何在 OpenAPI / Swagger 中递归引用封闭类型定义?

2023-12-28

我正在 Swagger 编辑器中编写 OpenAPI 定义。

我的类型定义之一包含一个数组,其中包含与父元素类型相同的子元素。 IE。像这样的东西:

definitions:
  TreeNode:
    type: object
    properties:
      name:
        type: string
        description: The name of the tree node.
      children:
        type: array
        items:
          $ref: '#/definitions/TreeNode'

但是,Swagger Editor 不会选取递归引用childrenarray,它简单地显示为“未定义”元素的数组。

有人知道如何做到这一点吗?


你的定义完全没问题。这是在 Swagger 编辑器和 Swagger UI 中渲染递归架构的一个已知问题:

https://github.com/swagger-api/swagger-ui/issues/3325 https://github.com/swagger-api/swagger-ui/issues/3325

解决“示例值”显示问题null/"string"/undefined您可以添加自定义元素来代替递归元素example到你的架构:

definitions:
  TreeNode:
    type: object
    properties:
      name:
        type: string
        description: The name of the tree node.
      children:
        type: array
        items:
          $ref: '#/definitions/TreeNode'
    example:
      name: foo
      children:
        - name: bar
        - name: baz
          children:
            - name: qux
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 OpenAPI / Swagger 中递归引用封闭类型定义? 的相关文章

随机推荐

  • 如何按时间而不是按大小对 shell 脚本输入进行分块?

    在 bash 脚本中 我使用多生产者单消费者模式 生产者是将行写入 fifo 的后台进程 通过 GNU Parallel 消费者从 fifo 读取所有行 然后排序 过滤并将格式化结果打印到 stdout 然而 可能需要很长时间才能获得完整的
  • cURL:通过代理进行 https

    我需要向 https URL 发出 cURL 请求 但我还必须通过代理 这样做有什么问题吗 我在使用curl和php执行此操作时遇到了很多麻烦 因此我尝试在Python中使用urllib2执行此操作 结果发现urllib2在通过代理时无法P
  • AVAssetReader,如何使用流而不是文件?

    AVAssetReader 非常棒 但我只能看到如何将它与本地资产 文件或我猜的组合一起使用 So assetReader try AVAssetReader asset self asset assetReader addOutput r
  • Spring-boot jersey maven 无法运行 war 文件

    我们正在创建一个 spring boot jersey 应用程序 现在我们要创建可执行的 war 文件 问题是当我运行它时应用程序运行良好 mvn spring boot run 但是当我尝试将其打包为 war 并使用 java jar A
  • 如何在文档中找到 to_string 可用于 &str?

    我试图了解发生了什么事读一行 https stackoverflow com questions 27972686 read only one line to string in one line of code 但我找不到有一个方法to
  • WPF - 即时修改图像颜色 (C#)

    是否可以通过代码 甚至使用模板 修改 WPF 中图像的颜色 假设我有一个图像需要应用于图块 默认情况下它具有白色前景色和透明背景 类似于下面的 PNG 它就在这里 我不想添加不同的图像 具有不同的颜色 而是想操纵白色 并将其更改为黑色 如果
  • 如何编写仅查看日期时间字段的时间部分的 activerecord 查询?

    是否可以执行仅查看日期时间字段的时间部分的 activerecord 查询 e g Battle where start time lt and start time gt 12 00 06 00 查找早上 6 点到中午 12 点之间开始的
  • c 预处理器:串联算术

    如何让预处理器进行串联算术运算 我尝试过 define DECL FUNCT3 ch1 ch2 void funct ch1 and ch2 void define DECL FUNCT2 ch1 ch2 DECL FUNCT3 ch1 c
  • 查找过去 30 分钟内未访问/修改的文件?

    我有一个要求 我想向尚未访问过文件的用户发出通知30 min 使用 shell 脚本 是否可以找到未访问过的文件30 min使用查找 我查过 find opt SP tibmft scripts mtime 0 这将获取过去 24 小时内修
  • Guid.NewGuid() 的 C++ 版本是什么?

    我需要创建一个GUID在非托管 Windows C 项目中 我习惯了 C 我会用Guid NewGuid 非托管 Windows C 版本是什么 I think CoCreateGuid http msdn microsoft com en
  • Android WebView:在Android客户端上传图像。无法在服务器端 JavaScript 中获取文件类型

    我已经测试了 stackOverFlow 上的所有可用代码 但仍然无法正常工作 我使用Android 4 4 4并使用WebView将图像上传到服务器网页 但无法在服务器JavaScript代码中获取文件类型 alert type inpu
  • 如何将字符串转换为布尔值

    我有一个string可以是 0 或 1 并且保证不会是其他任何东西 所以问题是 将其转换为最佳 最简单和最优雅的方法是什么 bool 确实很简单 bool b str 1
  • 使用 HTTP 上传文件。收到错误:- HttpSendReuest 12005

    我想使用 HTTP 将 D er txt 上传到网络服务器 当我运行程序时 我收到 HttpSendRequest 12005 错误 我在我的网络服务器上使用了一个 PHP 脚本 它将接受该文件并将其存储在名为 upload 的预制目录中
  • 持久“记住我”Cookie 的竞争条件

    根据持久登录 Cookie 最佳实践 http fishbowl pastiche org 2004 01 19 persistent login cookie best practice 您不应该允许多次使用 记住我 令牌 持久性 coo
  • 由于未知表而无法删除表(错误 1051)

    我正在尝试从我继承的架构中删除一个表 当我SHOW TABLES I get Tables in schema a table 1 table 2 table 3 table 4 table 5 table 6 但是当我执行时
  • 领域 + NSTableView + NSArrayController

    我的 macOS 应用程序有一些问题 希望您能帮助我 我对 macOS 还很陌生 所以请多多关照 应用程序的一部分由一个简单的 NSTableView 组成 其内容绑定到 NSArrayController NSArrayControlle
  • Apache poi:删除 XWPFDocument 中的图片

    我正在编写一个应用程序 它采用带有一堆空段落和表格的 docx 文件 并使用 Apache POI 和数据库中的数据以编程方式填充它们 我提供的 docx 模型中还包含一系列图片 我的问题是我想删除不需要的图片 再次以编程方式 我看到有一种
  • TextMate 语法——规则的优先级

    我正在尝试修改 CSharp 语言的语法突出显示 因此我将在 C 字符串中获得 SQL 的语法突出显示 TextMate 支持嵌入语言 因此这似乎是可能的 我建立在csharp tmLanguage json https github co
  • 在 git 中交换暂存和未暂存更改的最短方法是什么?

    如果有一些更改添加到索引中 而有一些更改未添加到索引中 我如何交换这两组更改 它认为这对于临时提交来说是最容易做到的 当您有暂存和未暂存的提交时 在尝试对更改重新排序时可能会发生冲突 对分阶段的更改进行提交 创建一个分支供以后使用 git
  • 如何在 OpenAPI / Swagger 中递归引用封闭类型定义?

    我正在 Swagger 编辑器中编写 OpenAPI 定义 我的类型定义之一包含一个数组 其中包含与父元素类型相同的子元素 IE 像这样的东西 definitions TreeNode type object properties name