Skip to content

Instantly share code, notes, and snippets.

@srkiNZ84
Last active August 10, 2018 10:24
Show Gist options
  • Save srkiNZ84/3a8f7deb11cf368e25607cf0a66bc140 to your computer and use it in GitHub Desktop.
Save srkiNZ84/3a8f7deb11cf368e25607cf0a66bc140 to your computer and use it in GitHub Desktop.
Simple Swagger API definition
swagger: "2.0"
info:
description: "This is a super simple swagger sample Book server"
version: "1.0.0"
title: "Swagger bookserver"
termsOfService: "http://google.com/"
contact:
email: "[email protected]"
license:
name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
host: "books.foobar.io"
basePath: "/v2"
tags:
- name: "book"
description: "Everything about your Books"
externalDocs:
description: "Find out more"
url: "http://foobar.io"
- name: "review"
description: "Access to Book reviews"
schemes:
- "https"
- "http"
paths:
/book:
get:
tags:
- "book"
summary: "Get list of all books"
description: ""
operationId: "getBooks"
consumes:
- "application/json"
- "application/xml"
produces:
- "application/xml"
- "application/json"
parameters:
- in: "query"
name: "author"
description: "The author of the books to retrieve"
required: false
type: "string"
- name: "page"
in: "query"
description: "Page number of results to return."
required: false
type: "string"
responses:
200:
description: "Successful operation"
schema:
$ref: "#/definitions/Books"
post:
tags:
- "book"
summary: "Add a new book to the site"
description: ""
operationId: "addBook"
consumes:
- "application/json"
- "application/xml"
produces:
- "application/xml"
- "application/json"
parameters:
- in: "body"
name: "body"
description: "Book object that needs to be added to the site"
required: true
schema:
$ref: "#/definitions/Book"
responses:
405:
description: "Invalid input"
put:
tags:
- "book"
summary: "Update an existing book"
description: ""
operationId: "updateBook"
consumes:
- "application/json"
- "application/xml"
produces:
- "application/xml"
- "application/json"
parameters:
- in: "body"
name: "body"
description: "Book object that needs to be updated on the site"
required: true
schema:
$ref: "#/definitions/Book"
responses:
400:
description: "Invalid ID supplied"
404:
description: "Book not found"
405:
description: "Validation exception"
definitions:
Book:
type: "object"
required:
- "name"
- "author"
properties:
id:
type: "integer"
format: "int64"
name:
type: "string"
example: "Lord of the Rings"
status:
type: "string"
description: "book status on the site"
enum:
- "reviewed"
- "sold"
xml:
name: "Book"
Books:
type: "array"
items:
$ref: "#/definitions/Book"
externalDocs:
description: "Find out more about Books"
url: "http://books.example.io"
#!/bin/bash
mkdir book-server
cd book-server
swagger-codegen generate \
-i https://gist.githubusercontent.com/srkiNZ84/3a8f7deb11cf368e25607cf0a66bc140/raw/cac66ce550489538f415734ded075fea192ae94f/book.yml \
-l python-flask
[main] INFO io.swagger.parser.Swagger20Parser - reading from https://gist.githubusercontent.com/srkiNZ84/3a8f7deb11cf368e25607cf0a66bc140/raw/cac66ce550489538f415734ded075fea192ae94f/book.yml
[main] INFO io.swagger.codegen.ignore.CodegenIgnoreProcessor - No .swagger-codegen-ignore file found.
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/models/book.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/models/books.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/controllers/book_controller.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/test/test_book_controller.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./README.md
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./setup.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./tox.ini
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./test-requirements.txt
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./requirements.txt
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./git_push.sh
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./.gitignore
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./.travis.yml
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./Dockerfile
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./.dockerignore
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/__init__.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/__main__.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/encoder.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/util.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/controllers/__init__.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/models/__init__.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/models/base_model_.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/test/__init__.py
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./swagger_server/swagger/swagger.yaml
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./.swagger-codegen-ignore
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /private/tmp/book-server/./.swagger-codegen/VERSION
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment