Giter Site home page Giter Site logo

apapacy / openapi-gui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mermade/openapi-gui

0.0 2.0 0.0 2.5 MB

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

Home Page: https://mermade.github.io/openapi-gui/

License: MIT License

CSS 11.35% HTML 17.13% JavaScript 71.52%

openapi-gui's Introduction

OpenApi-gui

OpenApi-gui is a GUI for creating and editing OpenApi version 3.0.x JSON/YAML definitions. In its current form it is most useful as a tool for starting off and editing simple OpenApi definitions. Imported OpenAPI 2.0 definitions are automatically converted to v3.0.

Screenshot

For the previous Swagger / OpenAPI 2.0-only version see here. This version is currently unmaintained apart from security fixes.

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. The complete history of the project is maintained on GitHub.

Description

How It Works

Select an existing OpenApi 2.0 or 3.0.x 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.

You can load an existing definition by appending a ?url= query parameter to the initial start page.

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 Vue.JS, jQuery and Bulma for CSS.

To get the app up and running just browse to the live Heroku version, deploy to Heroku using the button below, deploy a clone to GitHub pages, or clone the repo and point a browser at index.html or host it yourself - couldn't be simpler. More technical information here.

You only need to npm install the Node.js modules if you wish to use the openapi-gui embedded web server (i.e. not if you are running your own web-server), otherwise they are only there for PaaS deployments.

Deploy

Limitations

  • OpenApi-gui will de-reference shared parameters.
  • The definition must be self-contained with no external $refs. This is likely to be resolved (ho-ho) soon.
  • Editing a response / example / body schema will dereference it.
  • OpenApi-gui will not always preserve vendor-extensions, e.g. if a parameter is deleted and recreated.
  • OpenApi-gui will not preserve comments from definitions imported in YAML format.

TODO

openapi-gui's People

Contributors

brandonmwest avatar darrylkuhn avatar mikeralphson avatar yogendra avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.