Почему Swagger делает недействительными типы long, boolean и object в моих спецификациях?

Я создал расширение, чтобы сделать Flask-Views Swaggable, это очень просто: вы помещаете определение YAML в какой-либо файл или в строку документации, а Flasgger позаботится о создании спецификаций API и предоставит Swagger UI.

Github: https://github.com/rochacbruno/flasgger
Пример приложения: http://flasgger-rochacbruno.rhcloud.com/apidocs/index.html?url=/v2/spec

Теперь у меня проблема:

http://online.swagger.io/validator/debug?url=http://flasgger-rochacbruno.rhcloud.com/v2/spec

введите описание изображения здесь

Валидатор чванства говорит, что мои спецификации недействительны, но все работает хорошо, почему это говорит о том, что мои определения недействительны?

Ответы могут быть внесены в репозиторий github (там есть пример приложения)


person Bruno Rocha - rochacbruno    schedule 04.08.2015    source источник


Ответы (1)


Первая проблема заключается в том, что ваш candidate_id в модели req_query имеет свойство required. Хотя свойство разрешено, тип значения неверен и не имеет значения в этом случае (это не то, как вы его используете). Поскольку на уровне req_query вы упомянули, что candidate_id является required в массиве, вам просто нужно удалить его из определения свойства.

Вторая проблема заключается в том, что long не является допустимым типом. Если вы посмотрите на https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#data-types, вы увидите, что long означает type integer, а format int64.

person Ron    schedule 05.08.2015
comment
Были еще 2 проблемы: dateTime не является допустимым форматом, я использовал строку с форматом date-time, а также #ref не имеет схемы. Спасибо - person Bruno Rocha - rochacbruno; 05.08.2015