Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swagger OpenAPI3:将对象数组用于requestBody示例_Swagger_Openapi - Fatal编程技术网

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"