28

我正在 Swagger Editor 中编写 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数组中的递归引用,它只是显示为“未定义”元素的数组。

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

4

1 回答 1

23

你的定义很好。这是在 Swagger Editor 和 Swagger UI 中呈现递归模式的一个已知问题:

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

要解决显示 // 而不是递归元素的“示例值” null,您可以向架构添加自"string"定义:undefinedexample

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
于 2017-03-16T21:41:04.687 回答