来自 json 文件的 Swagger 示例 post 正文引用

Swagger example post body reference from json file

我正在尝试为我的 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"
}

Swagger 定义:

 * /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
 *
 */

来自他们在 https://swagger.io/docs/specification/adding-examples/ 的文档 因此,似乎需要有一个对象的集合模式,并且在一个示例通过它之后。 我的猜测是外部值可以是任何外部值 link 或 file.

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