如何在swagger中提供包含数组作为其属性之一的对象定义示例
参考下面的示例,我想在其定义中提供一个如何在swagger中提供包含数组作为其属性之一的对象定义示例,swagger,definitions,Swagger,Definitions,参考下面的示例,我想在其定义中提供一个NamedElementArray的示例。这需要为元素属性显示一个NamedElement数组的示例 我该怎么做?我无法在swagger规范中找到如何实现这一点的详细信息 swagger: '2.0' info: version: "0.0.0" title: Example definitions: Identifier: type: string format: uuid NamedElement: type:
NamedElementArray
的示例。这需要为元素
属性显示一个NamedElement
数组的示例
我该怎么做?我无法在swagger规范中找到如何实现这一点的详细信息
swagger: '2.0'
info:
version: "0.0.0"
title: Example
definitions:
Identifier:
type: string
format: uuid
NamedElement:
type: object
properties:
name:
type: string
identifier:
$ref: "#/definitions/Identifier"
required:
- name
- identifier
example:
name: Identifier1
identifier: ab804529-11d0-4781-a49a-3bbbc40243df
NamedElementArray:
type: object
properties:
name:
type: string
elements:
type: array
minLength: 0
items:
$ref: "#/definitions/NamedElement"
required:
- name
- elements
example:
name: Fred
elements:
paths:
/elements/{name}:
get:
description: |
Gets `NamedElement` objects, based on the **name** query param.
parameters:
-
name: name
in: path
description: Name of element array to return
required: true
type: string
responses:
200:
description: Returns a named element array
schema:
$ref: "#/definitions/NamedElementArray"
default:
description: Return nothing
您必须在高级示例和低级示例之间进行选择。 在Swagger UI中,高级示例先于本地示例 完整示例可在 您可以在每个属性(低级别)上定义一个示例: 在这种情况下,该示例在Swagger UI中如下所示:
{
"name": "Local name example",
"elements": [
{
"name": "Local identifier example",
"identifier": "Local UUID example"
}
]
}
{
"name": "Fred",
"elements": [
{
"name": "Identifier1",
"identifier": "ab804529-11d0-4781-a49a-3bbbc40243df"
},
{
"name": "Identifier2",
"identifier": "zzz4529-11d0-4781-a49a-3bbbc40243df"
}
]
}
但您也可以在高层给出一个完整的示例,就像您在NamedElement
上的示例一样:
NamedElementArray:
type: object
properties:
name:
type: string
elements:
type: array
minLength: 0
items:
$ref: "#/definitions/NamedElement"
required:
- name
- elements
example:
name: Fred
elements:
- name: Identifier1
identifier: ab804529-11d0-4781-a49a-3bbbc40243df
- name: Identifier2
identifier: zzz4529-11d0-4781-a49a-3bbbc40243df
在这种情况下,该示例在Swagger UI中如下所示:
{
"name": "Local name example",
"elements": [
{
"name": "Local identifier example",
"identifier": "Local UUID example"
}
]
}
{
"name": "Fred",
"elements": [
{
"name": "Identifier1",
"identifier": "ab804529-11d0-4781-a49a-3bbbc40243df"
},
{
"name": "Identifier2",
"identifier": "zzz4529-11d0-4781-a49a-3bbbc40243df"
}
]
}