JSON 模式 object 的确定性版本

A deterministic version of a JSON schema object

我正在尝试使用 Swagger Editor 为我的 API 创建自定义 JSON/YAML。基本上我想用 JSON 和 Content-Type headers 和 POST-data 的形式描述对端点的 POST 请求,如以下模板 {"document": "Some text paragraph", "documentType": "text/plain"}.

这是我的 swagger.yml 文件

swagger: '2.0'
info:
  title: Random title
  description: Blah blah
  version: 1.2.3
host: endpoint.com
schemes:
  - https
securityDefinitions:
  basicAuth:
    type: basic
    description: HTTP Basic Authentication.
basePath: /v1
paths:
  '/{pipelineID}':
    parameters:
      - $ref: '#/parameters/pipelineID'
    post:
      summary: Hello world
      description: World hello
      security:
        - basicAuth: []
      consumes:
        - application/json
      produces:
        - application/json
      tags:
        - TextAnnotation
      parameters:
        - name: body
          in: body
          description: JSON
          required: true
          schema:
            - $ref: "#/definitions/json"
        - name: Accept
          in: header
          required: true
        - name: Content-Type
          in: header
          required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
parameters:
  pipelineID:
    name: pipelineID
    description: Pipeline ID
    in: path
    type: string
    required: true
definitions:
  json:
    - type: ServiceRequest
      properties:
        - "document":
          - type: string
          "documentType":
          - type: string

Swagger 编辑器的错误:

Swagger Error
A deterministic version of a JSON Schema object.
Jump to line 59

第 59 行是定义的开始,更具体地说,json

我做错了什么?

我发现了这个漏洞。这是绝对有效和有效的 JSON

"definitions": {
    "ServiceRequest": {
        "type": "object",
        "description": "Payload data to be sent with request. Format: JSON",
        "required": [
            "documentType",
            "document"
        ],
        "properties": {
            "documentType": {
                "type": "string",
                "default": "text/plain"
            },
            "document": {
                "type": "string",
                "default": "Your text here"
            }
        }
    }
}

生成正确的 curl 请求。