НЕ должно иметь дополнительных свойств - PullRequest
0 голосов
/ 01 октября 2018

Я новичок в спецификации Open API (например, использую 3.0).Я играю с онлайн-инструментом Swagger Editor и получаю странную ошибку:

"НЕ ДОЛЖНО иметь дополнительные свойства AdditionalProperty: Data1, Data2"

Вот примерфайла YAML, с которым я работаю:

paths:
 /api/assignment:
    post:
      tags:
      - Assignment
      summary: "Endpoint to create Resources in  system"
      description: "This endpoint will create blah blah"
      operationId: CreateResource
 parameters:
    - name: assignment
      in: body
      description: "This is an  object to be sent"
      required: true
      schema:
            type: object
            properties:
              Ganesh:
                type: integer
              Test:
                type: string
              RefClaim:
                Data1:
                  FirstName:
                    type: string
                  LastName:
                    type: string
                Data2:
                  FirstName2:
                    type: string
                  LastName2:
                    type: string

Я видел все заданные вопросы и пытался ответить на них, но не смог получить ответ. Примечание: я использую спецификацию Open Api 3.0.1

1 Ответ

0 голосов
/ 01 октября 2018

Есть несколько проблем:

1) in: body параметры - вещь OpenAPI 2.0.OpenAPI 3.0 использует requestBody.

2) Вложенные объекты также нужны ключевые слова type: object и properties.

Правильноверсия:

paths:
 /api/assignment:
    post:
      tags:
      - Assignment
      summary: "Endpoint to create Resources in  system"
      description: "This endpoint will create blah blah"
      operationId: CreateResource
      requestBody:   # <-----------
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                Ganesh:
                  type: integer
                Test:
                  type: string
                RefClaim:
                  type: object      # <-----------
                  properties:       # <-----------
                    Data1:
                      type: object  # <-----------
                      properties:   # <-----------
                        FirstName:
                          type: string
                        LastName:
                          type: string
                    Data2:
                      type: object  # <-----------
                      properties:   # <-----------
                        FirstName2:
                          type: string
                        LastName2:
                          type: string
...