{ "swagger": "2.0", "info": { "version": "1.0.0", "title": "Plugin ${plugin_model.pluginName}", "description": "${plugin_model.pluginName?cap_first} API" }, "produces": [ "application/json" ], "paths": { <#list business_classes as business_class> "/${business_class.businessClass?lower_case}s": { "get": { "description": "Get ${business_class.businessClass?cap_first} list", "tags": [ "${business_class.businessClass?cap_first}" ], "responses": { "200": { "description": "Return the ${business_class.businessClass?cap_first} list", "schema": { "$ref": "#/definitions/${business_class.businessClass?cap_first}ListResult" } }, "204": { "description": "No content", "schema": { "$ref": "#/definitions/NoContent" } }, "default": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/Error" } } } }, "post": { "description": "Create ${business_class.businessClass?cap_first}", "tags": [ "${business_class.businessClass?cap_first}" ], "parameters": [ <#list business_class.attributes as attribute> { "name": "${attribute.paramName?lower_case}", "in": "formData", "description": "${attribute.paramName?lower_case}", "required": true, "type": "string" }<#if attribute_has_next>, ], "responses": { "200": { "description": "Return the ${business_class.businessClass?cap_first} created", "schema": { "$ref": "#/definitions/${business_class.businessClass?cap_first}Result" } }, "400": { "description": "Empty parameter", "schema": { "$ref": "#/definitions/Error" } }, "default": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/${business_class.businessClass?lower_case}s/{id}": { "get": { "description": "Get ${business_class.businessClass?cap_first}", "tags": [ "${business_class.businessClass?cap_first}" ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the ${business_class.businessClass?cap_first}", "required": true, "type": "integer" } ], "responses": { "200": { "description": "Return the ${business_class.businessClass?cap_first}", "schema": { "$ref": "#/definitions/${business_class.businessClass?cap_first}Result" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "default": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/Error" } } } }, "put": { "description": "Modify ${business_class.businessClass?cap_first}", "tags": [ "${business_class.businessClass?cap_first}" ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the ${business_class.businessClass?cap_first} to modify", "required": true, "type": "integer" }, <#list business_class.attributes as attribute> { "name": "${attribute.paramName?lower_case}", "in": "formData", "description": "${attribute.paramName?lower_case}", "required": true, "type": "string" }<#if attribute_has_next>, ], "responses": { "200": { "description": "Return the ${business_class.businessClass?cap_first} modified", "schema": { "$ref": "#/definitions/${business_class.businessClass?cap_first}Result" } }, "400": { "description": "Empty parameter", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "default": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/Error" } } } }, "delete": { "description": "Delete ${business_class.businessClass?cap_first}", "tags": [ "${business_class.businessClass?cap_first}" ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the ${business_class.businessClass?cap_first} to delete", "required": true, "type": "integer" } ], "responses": { "200": { "description": "Return the ${business_class.businessClass?cap_first} deleted (No Content)", "schema": { "$ref": "#/definitions/NoContent" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "default": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/Error" } } } } }<#if business_class_has_next>, }, "definitions": { "NoContent": { "type": "object", "properties": { "result": { "type": "string" }, "status": { "type": "string" } } }, "Error": { "type": "object", "properties": { "message": { "type": "string" }, "errorCode": { "type": "string" }, "status": { "type": "string" } } }, <#list business_classes as business_class> "${business_class.businessClass?cap_first}ListResult": { "type": "object", "properties": { "result": { "type": "array", "items": { "$ref": "#/definitions/${business_class.businessClass?cap_first}" } }, "status": { "type": "string" } } }, "${business_class.businessClass?cap_first}Result": { "type": "object", "properties": { "result": { "$ref": "#/definitions/${business_class.businessClass?cap_first}" }, "status": { "type": "string" } } }, "${business_class.businessClass?cap_first}": { "type": "object", "properties": { "id": { "type": "integer" }, <#list business_class.attributes as attribute> "${attribute.paramName?lower_case}": { "type": "string" }<#if attribute_has_next>, } }<#if business_class_has_next>, } }