我正在Swagger编辑器中编写OpenAPI定义。
我的一个类型定义包含一个包含与父类型相同类型的子元素的数组。即这样的事情:
definitions:
TreeNode:
type: object
properties:
name:
type: string
description: The name of the tree node.
children:
type: array
items:
$ref: '#/definitions/TreeNode'
但是,Swagger Editor没有在children
数组中选取递归引用,该数组简单地显示为“未定义”元素的数组。
有没有人知道如何做到这一点?`
你的定义非常好。在Swagger Editor和Swagger UI中渲染递归模式是一个众所周知的问题:
https://github.com/swagger-api/swagger-ui/issues/3325
要解决“示例值”中的null
/ 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