Skip to content

Instantly share code, notes, and snippets.

@vpiotr
Created December 8, 2019 19:52
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vpiotr/e0698c00488eeb5ccbdc4d90115585bc to your computer and use it in GitHub Desktop.
Save vpiotr/e0698c00488eeb5ccbdc4d90115585bc to your computer and use it in GitHub Desktop.

Swagger QuickRef

Specification

Local Docker execution

Swagger Editor

Run Swagger Editor via Docker

docker pull swaggerapi/swagger-editor
docker run -d -p 80:8080 swaggerapi/swagger-editor
x-www-browser http://localhost/ &

Swagger UI

Run Swagger Editor via Docker with input via URL

docker pull swaggerapi/swagger-ui
docker run -d -p 81:8080 swaggerapi/swagger-ui
x-www-browser http://localhost:81/ &

Run Swagger Editor via Docker with local input file (stored in ./api_docs dir).

docker pull swaggerapi/swagger-ui
cp ./api_docs/swagger_08_response_xml.yaml ./api_docs/swagger.json
docker run -d -p 81:8080 -e SWAGGER_JSON=/var/specs/swagger.json -v $PWD/api_docs:/var/specs swaggerapi/swagger-ui
x-www-browser http://localhost:81/ &

Swagger CodeGen

Generate code (Spring Boot) for input URL

docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate \
    -i http://petstore.swagger.io/v2/swagger.json \
    -l spring \
    -o /local/out/spring

Generate code (Spring Boot) for local input file (stored in ./api_docs dir).

docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli-v3 generate \
    -i /local/api_docs/swagger_08_response_xml.yaml \
    -l spring \
    -o /local/out/loc-spring

Generate static documentation for local input file (stored in ./api_docs dir).

docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli-v3 generate \
    -i /local/api_docs/swagger_08_response_xml.yaml \
    -l html \
    -o /local/out/doc2

OpenAPI Generator

Home page: https://openapi-generator.tech/

Generate documentation

docker run --rm \
-v ${PWD}:/local openapitools/openapi-generator-cli generate \
-i /local/api_docs/swagger_08_response_xml.yaml \
-g html2 \
-o /local/out/doc1

ReDoc

Open live documentation for local file

docker run -it --rm -p 83:80 \
  -v $(pwd)/api_docs/swagger_08_response_xml.yaml:/usr/share/nginx/html/swagger.yaml \
  -e SPEC_URL=swagger.yaml redocly/redoc

Generate static local documentation (saved as redoc-static.html):

sudo apt install npm
sudo npm install -g npx
sudo npm install redoc --save
sudo npm install redoc-cli --save
npx redoc-cli bundle $(pwd)/api_docs/swagger_08_response_xml.yaml

Tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment