Swagger OpenAPI3:将对象数组用于requestBody示例
如何将Swagger OpenAPI3:将对象数组用于requestBody示例,swagger,openapi,Swagger,Openapi,如何将工作日定义为数组,以便日索引、日开始和日结束是其中的一个对象? * /business-calendar/: * post: * description: Add a new business calender * responses: * '200': * description: Business calendar added * requestBody: * content: *
工作日
定义为数组,以便日索引
、日开始
和日结束
是其中的一个对象?
* /business-calendar/:
* post:
* description: Add a new business calender
* responses:
* '200':
* description: Business calendar added
* requestBody:
* content:
* application/json:
* schema:
* type: object
* example:
* name: "Standard"
* validFrom: "2021-01-01T00:00:00.000Z"
* validTo: "2021-12-31T00:00:00.000Z"
* useHolidays: true
* workingDays:
* dayIndex: 0
* dayStart: "8:00"
* dayEnd: "20:00"
*/
电流输出:
{
"name": "Standard",
"validFrom": "2021-01-01T00:00:00.000Z",
"validTo": "2021-12-31T00:00:00.000Z",
"useHolidays": true,
"workingDays": {
"dayIndex": 0,
"dayStart": "8:00",
"dayEnd": "20:00"
}
}
期望输出:
{
"name": "Standard",
"validFrom": "2021-01-01T00:00:00.000Z",
"validTo": "2021-12-31T00:00:00.000Z",
"useHolidays": true,
"workingDays": [
{
"dayIndex": 0,
"dayStart": "8:00",
"dayEnd": "20:00"
}
]
}
我实现这一点的方法是创建一个workingDay对象,并在请求体中传递这些对象的数组。为此,您需要将workingDay定义为一个模式,在components下的schema部分中具有所需的属性。请注意,使用“$ref”指向示例workingDay对象: 示例对象可能如下所示: 然后,当您描述endpoint requestBody时,它看起来更像这样:
workingDay:
description: describe my working days
type: object
example:
$ref: "#/components/examples/workingDay"
properties:
dayIndex:
description: index my day
type: foo
dayStart:
description: start my day
type: bar
dayEnd:
description: end my day
type: baz
workingDay:
summary: example values of a workingDay object
value:
dayIndex: 0
dayStart: 8:00
dayEnd: 20:00
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
validFrom:
type: string
validTo:
type: string
useHolidays:
type: bool
workingDays:
type: array
items:
$ref: "#/components/schemas/workingDay"