You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
3.3 KiB
153 lines
3.3 KiB
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"title": "Beer Catalog API",
|
|
"description": "An API for querying beer catalog of Acme Inc.",
|
|
"contact": {
|
|
"name": "Laurent Broudoux",
|
|
"url": "http://github.com/lbroudoux",
|
|
"email": "laurent.broudoux@gmail.com"
|
|
},
|
|
"license": {
|
|
"name": "MIT License",
|
|
"url": "https://opensource.org/licenses/MIT"
|
|
},
|
|
"version": "1.0"
|
|
},
|
|
"basePath": "/api",
|
|
"paths": {
|
|
"/beer/{name}": {
|
|
"get": {
|
|
"tags": [
|
|
"beer"
|
|
],
|
|
"summary": "Get beer having name",
|
|
"description": "Get beer having name",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Beer having requested name",
|
|
"schema": {
|
|
"$ref": "#/definitions/Beer"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"in": "path",
|
|
"description": "Name of beer to retrieve",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"/beer/findByStatus/{status}": {
|
|
"get": {
|
|
"tags": [
|
|
"beer"
|
|
],
|
|
"summary": "Get beers having status",
|
|
"description": "Get beers having status",
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of beers having requested status",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Beer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "status",
|
|
"in": "path",
|
|
"description": "Status of beers to retrieve",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"description": "Number of page to retrieve",
|
|
"type": "number"
|
|
}
|
|
]
|
|
},
|
|
"/beer": {
|
|
"get": {
|
|
"tags": [
|
|
"beer"
|
|
],
|
|
"summary": "List beers within catalog",
|
|
"description": "List beers within catalog",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of beers",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Beer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"description": "Number of page to retrieve",
|
|
"type": "number"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"tags": [
|
|
{
|
|
"name": "beer",
|
|
"description": "Beer resource"
|
|
}
|
|
],
|
|
"definitions": {
|
|
"Beer": {
|
|
"properties": {
|
|
"name": {
|
|
"description": "Name of Beer",
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"description": "Origin country of Beer",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "Type of Beer",
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"description": "Rating from customers",
|
|
"type": "number"
|
|
},
|
|
"status": {
|
|
"description": "Stock status",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"apikey": {
|
|
"name": "api-key",
|
|
"in":"header",
|
|
"type":"apiKey"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"apikey": []
|
|
}
|
|
]
|
|
}
|
|
|