我正在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编辑器不会在children
数组中选取递归引用,该引用只是显示为“未定义”元素的数组。
有没有人知道如何做到这一点?`
答案 0 :(得分:3)
你的定义非常好。在Swagger Editor和Swagger UI中渲染递归模式是一个已知的问题:
https://github.com/swagger-api/swagger-ui/issues/3325
要解决"示例值"中的null
/未定义值,您可以向架构中添加自定义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