From b2560351ce61b93bf60ad0ceef23c7471be79546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Mass=C3=A9?= Date: Mon, 25 Feb 2019 18:45:52 +0100 Subject: [PATCH] OpenAPI Specs for v1.0 --- api-contracts/beer-catalog-1.0.yaml | 103 ++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 api-contracts/beer-catalog-1.0.yaml diff --git a/api-contracts/beer-catalog-1.0.yaml b/api-contracts/beer-catalog-1.0.yaml new file mode 100644 index 0000000..1e5aa76 --- /dev/null +++ b/api-contracts/beer-catalog-1.0.yaml @@ -0,0 +1,103 @@ +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' +paths: + '/beer/{name}': + get: + tags: + - beer + summary: 'Get beer having name' + description: 'Get beer having name' + operationId: GetBeer + 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' + operationId: FindBeersByStatus + 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' + operationId: ListBeers + 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: + type: apiKey + description: Use a 3scale API Key + name: api-key + in: header +security: +- apikey: []