web-dev-qa-db-ja.com

Swaggerモデルセクションの使用方法を教えてください。

Swagger APIドキュメント内には、json内のapis配列の横にモデルオブジェクトエントリがありますが、それに関するドキュメントはありません。この「モデル」パーツをどのように使用できますか?

{
   apiVersion: "0.2",
   swaggerVersion: "1.1",
   basePath: "http://petstore.swagger.wordnik.com/api",
   resourcePath: "/pet.{format}"

   ...

   apis: [...]
   models: {...}
}
19
Thomas R.

モデルは、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の例 を参照してください。

つまり、モデルはクラスのようなものにすぎません。

17
Popeye