首页 > 解决方案 > 来自 json 文件的 Swagger 示例帖子正文引用

问题描述

我正在尝试为我的 Swagger POST 添加示例正文,并希望将示例模式引用到 JSON 文件,但它不起作用。

我是否必须使用另一个 ref 类型或其他东西,或者我真的必须定义一个定义模型(为了便于阅读,我想避免它)?

JSON文件calendar.json

{
 "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"
  }
 ],
 "uploadedBy": "um3i7um"
}

大摇大摆的定义:

 * /business-calendar/:
 *    post:
 *      description: Add a new business calender
 *      responses:
 *        '200':
 *          description: Business calendar added
 *      requestBody:
 *        required: true
 *        content:
 *          application/json:
 *            schema:
 *              type: object
 *    parameters:
 *      - in: body
 *        name: body
 *        schema:
 *          $ref": '../../mock/data/calendar.json'
 *        required: true
 *        description: Calendar object
 *
 */

标签: javascriptswaggerswagger-ui

解决方案


从他们在https://swagger.io/docs/specification/adding-examples/的文档 来看,似乎需要一个对象的集合模式,并且在一个示例通过它之后。我的猜测是外部值可以是任何外部值,无论是链接还是文件。

 content:
  application/json:
    schema:
      $ref: '#/components/schemas/MyObject'
    examples:
      jsonObject:
        summary: A sample object
        externalValue: 'http://example.com/examples/object-example.json'

推荐阅读