Как создать API, используя почтовый запрос с JSON в качестве полезной нагрузки, используя Swagger - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь создать API для пост-запроса, используя swagger, но не могу определить, какие параметры мне нужно настроить в swagger, чтобы создать этот API.

Я использовал почтальон, чтобы получить всю информацию об ответе и внедрить в чванство.

'/api/v1/labels':
post:
      tags:
        - devices
      summary: 'create new label'
      description: 'create new label to a given device'
      operationId: createNewLabel
      produces:
        - application/json
      parameters:
        - name: x-access-token
          description: 'cognito token'
          in: header
          type: string
          required: true
        - in: body
          name: body
          description: add label details
          required: true
          schema:
            $ref: '#/definitions/labelRequest'
      responses:
        '201':
          schema:
            $ref: '#/definitions/labelRequest'
          description: Created

и это определение, которое я написал:

labelRequest:
    type: object
    items:
      $ref: '#/definitions/labelRequestBody'

  labelRequestBody:
    type: object
    properties:
      device_ids:
        type: array
        items:
          type: string
          example: ["9bc11e25-4db2-4780-b761-390e3806082a"]
          format: uuid
      name:
        type: string
        example: new_label

Это вызов API:

https: /// api / v1 / tags

с этими заголовками:

x-access-token

и с этим телом в качестве полезной нагрузки:

{
    "device_ids":["ea4b9daa-07cd-4cd6-981f-c86e1e81f04c"],
    "name":"labelName"
}

ожидаемый результат: 201 (создан)

1 Ответ

1 голос
/ 19 июня 2019

Вы почти у цели, просто измените схему labelRequest на:

definitions:
  labelRequest:
    type: object
    properties:
      device_ids:
        type: array
        items:
          type: string
          # Array item example should NOT be enclosed in []
          example: "9bc11e25-4db2-4780-b761-390e3806082a"
          format: uuid
      name:
        type: string
        example: new_label
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...