如何在 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 中递归引用封闭类型定义? 的相关文章

  • 为 REST API 生成 Swagger UI 文档

    我使用 Java 中的 JAX RS Jersey 开发了 REST API 我想为其转换 生成基于 Swagger 的 UI 文档 谁能以简单的方式告诉我如何做到这一点的精确 步骤 很抱歉 他们网站上给出的步骤对我来说有点模糊 有多种方法
  • Swagger:通配符路径参数

    我有一个 API 它允许传入任意路径 例如所有这些 api tags api tags foo api tags foo bar baz 是有效路径 我尝试将其描述如下 tags tag path get parameters name t
  • 如何在 Twig 中渲染树

    我想渲染一棵深度不确定的树 孩子的孩子的孩子等 我需要递归地循环遍历数组 我怎样才能在 Twig 中做到这一点 我玩过domi27的想法 https stackoverflow com questions 8326482 how to re
  • 如何使用二叉树中的递归来完成回溯

    我正在尝试插入一个二进制节点 我的代码很复杂 没有希望挽救它 所以我计划重写它 基本上我没有考虑回溯 也没有仔细考虑算法 我正在尝试使用顺序遍历插入二进制节点 但我不明白应该如何回溯 D B E A C F 我如何搜索根 D 的左子树 然后
  • Web Api - Swagger 文档错误 500

    当我访问 swagger url 时 http localhost 28483 swagger ui index 它会生成此错误 500 undefined http localhost 28483 swagger docs v1 有任何想
  • 为什么删除 else 会减慢我的代码速度?

    考虑以下函数 def fact1 n if n lt 2 return 1 else return n fact1 n 1 def fact2 n if n lt 2 return 1 return n fact2 n 1 它们应该是等价的
  • 将括号子集映射到字符

    我正在尝试创建一个 Scala 方法 该方法将采用一个父括号组 表示为字符串 然后将每个括号子组映射到不同的字母 然后它应该将它们放入它返回的映射中 所以基本上我调用以下方法 如下所示 val s 2 x 3 6 val map mapPa
  • ASP.NET Web API Swagger(Swashbuckle)重复OperationId

    I have a web api controller like below In swagger output I am having the below image And when I want to consume it in my
  • 如何从 swagger 文档生成静态 html 文件?

    我创建了一个 Swagger 文档yaml文件位于 api swagger swagger yaml 现在我想分享一个静态 HTML 文档及其定义 但它已在招摇项目 https github com swagger api swagger
  • 使用线性递归计算第 n 个斐波那契数 [重复]

    这个问题在这里已经有答案了 我努力了二元递归找到第 n 个斐波那契数 或通过使用整个斐波那契数列 for循环进入main 但根据Java 中的数据结构和算法 第六版 迈克尔 T 古德里奇 这是一种效率极低的方法 因为它需要对该方法进行指数级
  • Clojure 尾递归与质因数

    我正在尝试自学 clojure 并使用 Prime Factors Kata 和 TDD 的原则来实现这一目标 通过一系列 Midje 测试 如下所示 fact primefactors 1 gt list fact primefactor
  • Python:打印自定义异常时超出最大递归深度

    下面的代码抛出RuntimeError maximum recursion depth exceeded while getting the str of an object 我可以用两种不同的方式解决无限递归 但我不明白为什么每个修复都有
  • Haskell:处理死锁的自引用列表

    GHC 允许永久阻止以下内容是否有任何有用的理由 list 1 tail list 看起来列表迭代器 生成器有点复杂 我们应该能够做一些更有用的事情 Return error Infinitely blocking list Return
  • java正则表达式查找第一个和最后一个字符

    我正在编写一个程序来递归地确定字符串是否为回文 我决定尝试使用正则表达式 但我在理解语法时遇到了一些困难 我需要做的是比较第一个和最后一个字符 看看它们是否相同 我该怎么做呢 Thanks 编辑 我发现这很有帮助 AirSource Ltd
  • 有没有办法在打字稿中自动生成 Azure Functions 的 swagger 文档?

    我在我的项目中使用带有 azure 函数的打字稿和节点 我想为我的项目自动生成 openAPI 定义文件 而不是手动创建一个 我看到了https www nuget org packages Aliencube AzureFunctions
  • 为什么haskell中的递归列表这么慢?

    我对 Haskell 很陌生 我在 Haskell 中定义了一个函数 febs Integral a gt a gt a febs n n lt 0 0 n 1 1 n 2 1 otherwise febs n 1 febs n 2 但是
  • 正则表达式引擎如何解析具有递归子模式的正则表达式?

    此正则表达式匹配回文 1 2 我无法理解它是如何工作的 递归何时结束 以及正则表达式何时从递归子模式中断并转到 part Thanks 编辑 抱歉我没有解释 2 and 1 1 指第一个子模式 对其自身 2 反向引用第二个子模式的匹配 即
  • Java-使用递归压平数组

    我一直在练习算法 递归一直是我的弱项 该问题要求将嵌套数组展平为单个数组 如果使用给出 O n 3 给定相同大小的 3d 数组 解决方案的循环 这将很简单 然而 通过递归 我已经挣扎了几个小时 这就是我所拥有的 请注意 我已经尝试过使用我的
  • 如何表明某个数字禁止在 swagger 文档中使用?

    我试图在我的 swagger 文档中指定一个名为myNumber 它可以是 1 10 中除 0 之外的任何整数 这是我到目前为止所得到的 myNumber type integer description You can use any n
  • C语言中的递归是如何工作的?

    我试图了解 C 中递归的工作原理 任何人都可以给我解释控制流吗 include

随机推荐

  • 如何按时间而不是按大小对 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