JSON模式对象的确定性版本

时间:2015-10-09 07:21:36

标签: swagger swagger-2.0 swagger-editor

我正在尝试使用Swagger Editor为我的API创建自定义JSON / YAML。基本上我想用JSON形式的AcceptContent-Type标题和POST数据来描述对端点的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

我做错了什么?

1 个答案:

答案 0 :(得分:2)

我在这个中找到了bugger。这是绝对有效且有效的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"
            }
        }
    }
}

产生正确的卷曲请求。