Свойство Swagger требует ложной причины ошибки

Я пытаюсь определить API с помощью Swagger 2.0. В моей модели у меня есть объект с необязательными атрибутами, поэтому я пытаюсь вставить тег Swagger «required: false».

Когда я вставляю тег «обязательный», я получаю сообщение об ошибке в редакторе, и я не могу понять, почему.

Мое определение Swagger:

definitions:
  Error:
    type: object
    properties:
      code:
        type: integer
      message:
        type: string
      fields:
        type: string

Это отлично работает. Теперь я хочу указать, что параметр «сообщение» (например) является необязательным. Итак, я пробую следующее:

definitions:
  Error:
    type: object
    properties:
      code:
        type: integer
      message:
        type: string
        required: false
      fields:
        type: string

И теперь у меня есть ошибка в редакторе Swagger:

 Swagger Error
Expected type array but found type boolean

Детали ошибки:

Details
Object
code: "INVALID_TYPE"
message: "Expected type array but found type boolean"
path: Array [5]
0: "definitions"
1: "Error"
2: "properties"
3: "message"
4: "required"
level: 900
type: "Swagger Error"
description: "Expected type array but found type boolean"
lineNumber: 41

Линии:

   [40]   message:
   [41]     type: string
   [42]     required: false

У кого-то есть идея о том, что я делаю неправильно?


person hiveship    schedule 24.12.2015    source источник


Ответы (1)


Если обязательны только код и поля, вы можете сделать что-то вроде:

definitions:
  Error:
    type: object
    required: [code, fields]
    properties:
      code:
        type: integer
      message:
        type: string
      fields:
        type: string
person Saúl Martínez Vidals    schedule 31.12.2015