Как я могу использовать раздел моделей Swagger?
Внутри документации API Swagger внутри массива jis, рядом с массивом apis, есть запись объекта модели, но нет документации об этом. Как я могу использовать эту часть "моделей"?
{
apiVersion: "0.2",
swaggerVersion: "1.1",
basePath: "http://petstore.swagger.wordnik.com/api",
resourcePath: "/pet.{format}"
...
apis: [...]
models: {...}
}
1 ответ
Решение
Модели - это не что иное, как ваши классы POJO в Java, которые имеют переменные и свойства. В разделе моделей вы можете определить свой собственный класс и ссылаться на него как на тип данных.
Если вы видите ниже
{
"path": "/pet.{format}",
"description": "Operations about pets",
"operations": [
{
"httpMethod": "POST",
"summary": "Add a new pet to the store",
"responseClass": "void",
"nickname": "addPet",
"parameters": [
{
"description": "Pet object that needs to be added to the store",
"paramType": "body",
"required": true,
"allowMultiple": false,
"dataType": "Pet"
}
],
"errorResponses": [
{
"code": 405,
"reason": "Invalid input"
}
]
}
Здесь, в разделе параметров, есть один параметр, для которого dataType равен Pet, и pet определяется в моделях, как показано ниже.
{
"models": {
"Pet": {
"id": "Pet",
"properties": {
"id": {
"type": "long"
},
"status": {
"allowableValues": {
"valueType": "LIST",
"values": [
"available",
"pending",
"sold"
]
},
"description": "pet status in the store",
"type": "string"
},
"name": {
"type": "string"
},
"photoUrls": {
"items": {
"type": "string"
},
"type": "Array"
}
}
}
}}
Вы можете иметь вложенные модели, для получения дополнительной информации см. Пример Swagger PetStore
Так что модели - это не что иное, как классы.