Jul 11

Among other activities, I design and implement RESTful APIs. I use the VSCode, the Swagger Editor, the Swagger UI and the Swagger Codegen, or a combination, as needed. I also use Docker for containerisation as much as possible because I dislike burdening my host machine with all manner of software and the resulting need to manage versions, version conflicts, etc..

To help myself, and others, I documented the steps necessary to create a Docker Image to host the Swagger Codegen so that Docker container using that Image can be spun up as needed in seconds and destroyed as quickly when no longer required. The intent of the document is to provide a set of steps that a reader can use to create a self-contained Docker container for API-First development using latest Swagger Codegen (3.x) and OpenAPI (2 or 3). The intent of the image is to provide a reader with the means to create a self-contained Docker container for generating and running back-end stubs based on an openapi.yaml specification for API-First development. 

The container will have the means to:

  • Use the Swagger Codegen to generate and run NodeJS stubs (and Java8 stubs, and Bash stubs) to facilitate API testing
  • Convert YAML specification documents to JSON and the vice versa

The image is based on the latest Docker node image with extras as discussed herein.

The image uses:

  • `swagger-codegen-cli/3.0.20` to support YAML to JSON conversion and generation of client and server stubs based on the OpenAPI Specification / Swagger file for supported languages. `swagger-codegen-cli` requires Java 8, which is installed during container setup.
  • `sqlite3`
  • `nodemon` server
  • `http-server` server

Please see https://github.com/mwczapski/Swagger_Codegen_3_Docker_Container for package artefacts.

Leave a Reply

preload preload preload