Переопределить модель уровня глагола / схему модели в Swagger-UI

Я работаю с swagger-ui, пытаясь стандартизировать документацию по API. Я понял, что для глаголов (GET, PUT, POST и т. Д.), Которые используют параметр тела и, следовательно, должны показывать модель и схему модели, схема определяется на уровне ресурсов (/ pet или / store в зоомагазине. пример). Однако в нашем API необходимые параметры тела будут меняться от глагола к глаголу, и было бы неплохо иметь модель для каждого, которая точно отражает это.

Текущая версия определения модели в http://petstore.swagger.wordnik.com/api/api-docs/pet, где определение модели выглядит так:

swagger-ui-model-def

Есть ли способ переопределить модель уровня ресурсов по умолчанию на уровне глагола?


person Lark    schedule 11.09.2014    source источник


Ответы (1)


В спецификации swagger 2.0 каждый из ресурсов имеет подразделы для методов HTTP (получение, публикация, удаление и т. Д.). Каждый из них, в свою очередь, имеет тег параметров, который сопоставляется со списком объектов JSON в форме ниже. Чтобы это тело использовало отдельную схему, его можно просто переопределить с помощью тега схемы и вложенного тега $ref, а затем сослаться на определение, которое вы предоставили отдельно в подразделе определений внизу.

{
    name: "body",
    in: "body",
    description: "set the properties of a pet",
    schema: {
        $ref: "#/definitions/PetPut"
    },
    required: true
}
person Lark    schedule 22.10.2014