Skip to content

GUI / visual editor for creating and editing OpenApi / Swagger definitions

License

Notifications You must be signed in to change notification settings

roppa/openapi-gui

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenApi-gui

OpenApi-gui is a GUI for creating and editing OpenApi (Swagger) JSON/YAML definitions. In its current form it is most useful as a tool for starting off and editing simple OpenApi definitions.

For the OpenAPI 3.x version, check out the latest branch.

Version 3.x live demo

Screenshot

This project was initially a fork of Daryl Kuhn's IODoctor, which in turn was inspired by IODoctor by Brandon West which was written in Ruby.

Description

How It Works

Select an existing OpenApi definition to upload, or create a new definition and start adding Paths, Operations, and Parameters. When an existing definition is used, it is parsed and forms for editing each Path, Operation and Parameter will be created.

Click an item from the menu on the left to begin editing. View the JSON/YAML output at any time by selecting one of the "Export" tabs. When finished, download the output to save it locally or copy it your clipboard. OpenApi-gui only stores one definition at a time, and this is in your browser's local-storage. Make sure you save your JSON/YAML output locally.

Before performing a destructive action, OpenApi-Gui saves the current state of the definition. At all other times you must remember to select Save manually.

Technology

OpenApi-gui runs entirely client-side using a number of Javascript frameworks including jQuery, Twitter Bootstrap, and Vue.JS.

To get the app up and running just browse to the GitHub.io page, deploy to Heroku using the button below, or clone the repo and load index.html into a browser / host it yourself - couldn't be simpler.

You only need to npm install the Node.js modules if you wish to use the Arapaho embedded web server, otherwise they are only there for Heroku deploys.

Deploy

Limitations

  • OpenApi-gui will de-reference shared parameters. For publication, you may wish to pass your OpenApi definition through a tool such as OpenApi-optimise.
  • The definition must be self-contained with no external $refs.
  • Editing a response / example / body schema will dereference it.
  • OpenApi-gui will not always preserve vendor-extensions.
  • OpenApi-gui will not preserve comments from definitions imported in YAML format.

TODO

  • Add validation on form fields
  • Consumes/Produces and security at operation level
  • Handle circular $refs in responses / examples / body schemas

About

GUI / visual editor for creating and editing OpenApi / Swagger definitions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 59.3%
  • HTML 34.7%
  • CSS 6.0%