Swagger APIドキュメント内には、json内のapis配列の横にモデルオブジェクトエントリがありますが、それに関するドキュメントはありません。この「モデル」パーツをどのように使用できますか?
{
apiVersion: "0.2",
swaggerVersion: "1.1",
basePath: "http://petstore.swagger.wordnik.com/api",
resourcePath: "/pet.{format}"
...
apis: [...]
models: {...}
}
モデルは、JavaのPOJOクラスに似ていますが、変数とプロパティがあります。モデルセクションでは、独自のカスタムクラスを定義して、データ型として参照できます。
以下を見れば
{
"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"
}
]
}
ここのパラメーターセクションには、dataTypeisPetとpetのパラメーターが1つあります以下のようにモデルで定義されています
{
"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の例 を参照してください。
つまり、モデルはクラスのようなものにすぎません。