2016-12-01 4 views
1

Я пытаюсь установить значение по умолчанию для массива в jschema с swagger. Ниже приведен пример схемы.Как установить значение по умолчанию для объекта массива jschema?

'Myobj': { 
      'type': 'object', 
      'title': 'Myobj', 
      'description': 'Some text', 
      'properties': { 
       'outputForms': { 
        'type': 'array', 
        'description': 'Some text', 
        'default': 'two', 
        'items': { 
           'type': 'string', 
           'enum': ['one','two'], 
          }, 
        'maxItems': 4, 
        'uniqueItems': true, 
        'additionalItems': false 
       } 
      } 
     } 

Это не работает, что я делаю неправильно? Буду благодарен за любую помощь.

+0

Ваш по умолчанию не является массивом? – xShirase

+0

Нужно ли использовать 'default': {items: 'two'}? – nightmare

+0

Я хотел бы использовать 'two' и 'значение по умолчанию для outputForms right' - yes – nightmare

ответ

1

Изменить

'default': 'two', 

в

'default': ['two'], 

квадратные скобки [] используются для обозначения массива.

Также удалите additionalProperties. В Swagger значение этого ключа различно - это объект (а не логический) и используется для определения map/dictionary.

+0

это не работает – nightmare

+0

Я не знаю, как, но он получает первый элемент в массиве, например. если я установил 'two' в качестве первого элемента в массиве, это будет значение по умолчанию для outputForms – nightmare

+0

@nightmare: Это действительный Swagger и отлично работает в пользовательском интерфейсе Swagger (https://i.stag.imgur.com/AjWHs.png). Если ваш инструмент не справляется с этим, это должно быть ошибкой в ​​инструменте. – Helen

Смежные вопросы