Swagger - The World's Most Popular API Framework

  •        187

Swagger is a powerful open source framework backed by a large ecosystem of tools that helps you design, build, document, and consume your RESTful APIs. The goal of Swagger is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection.

http://swagger.io/
https://github.com/swagger-api/swagger-core

Tags
Implementation
License
Platform

   




Related Projects

connexion - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support

  •    Python

Connexion is a framework on top of Flask that automagically handles HTTP requests based on OpenAPI 2.0 Specification (formerly known as Swagger Spec) of your API described in YAML format. Connexion allows you to write a Swagger specification, then maps the endpoints to your Python functions; this makes it unique, as many tools generate the specification based on your Python code. You can describe your REST API in as much detail as you want; then Connexion guarantees that it will work as you specified.With Connexion, you write the spec first. Connexion then calls your Python code, handling the mapping from the specification to the code. This incentivizes you to write the specification so that all of your developers can understand what your API does, even before you write a single line of code.

flasgger - Easy Swagger UI for your Flask API

  •    Python

Flasgger is a Flask extension to extract OpenAPI=Specification from all Flask views registered in your API. Flasgger also comes with SwaggerUI embedded so you can access http://localhost:5000/apidocs and visualize and interact with your API resources.

swagger-play

  •    Scala

The goal of Swagger™ is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined via Swagger, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interfaces have done for lower-level programming, Swagger removes the guesswork in calling the service. Swagger-play is an integration specifically for the Play framework.

api-platform - REST and GraphQL framework to build modern API-driven projects (server-side and client-side)

  •    Javascript

The official project documentation is available on the API Platform website. API Platform embraces open web standards (Swagger, JSON-LD, GraphQL, Hydra, HAL, JWT, OAuth, HTTP...) and the Linked Data movement. Your API will automatically expose structured data in Schema.org/JSON-LD. It means that your API Platform application is usable out of the box with technologies of the semantic web.

just-api - Easy and Flexible API Testing

  •    Javascript

Just-API is a declarative, specification based test framework for REST, GraphQL APIs. Users can test APIs without writing code, but they can also tap into code when they want to. It reads API test specification from YAML files and runs them in serial/parallel mode. Test reports can be generated in several formats including HTML and JSON. To run just-api, you will need Node.js v7.10.0 or newer.


Apache Juneau - Single cohesive framework

  •    Java

Apache Juneau is a single cohesive Java ecosystem consisting of the following parts juneau-marshall, juneau-dto, juneau-svl, juneau-config, juneau-rest-server, juneau-rest-client, juneau-microservice.

apispec - A pluggable API specification generator

  •    Python

A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification). Documentation is available at http://apispec.readthedocs.io/ .

swagger-ui - Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API

  •    Javascript

👉🏼 Want to score an easy open-source contribution? Check out our Good first issue label. 🕰️ Looking for the older version of Swagger UI? Refer to the 2.x branch.

swagger-parser - Swagger Spec to Java POJOs

  •    Java

This is the swagger parser project, which reads OpenAPI Specifications into current Java POJOs. It also provides a simple framework to add additional converters from different formats into the Swagger objects, making the entire toolchain available. The goal of Swagger™ is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined via Swagger, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interfaces have done for lower-level programming, Swagger removes the guesswork in calling the service.

rest-layer - REST Layer, Go (golang) REST API framework

  •    Go

REST APIs made easy.REST Layer is an API framework heavily inspired by the excellent Python Eve. It helps you create a comprehensive, customizable, and secure REST (graph) API on top of pluggable backend storages with no boiler plate code so you can focus on your business logic.

swagger2markup - A Swagger to AsciiDoc or Markdown converter to simplify the generation of an up-to-date RESTful API documentation by combining documentation that’s been hand-written with auto-generated API documentation

  •    Java

The primary goal of this project is to simplify the generation of an up-to-date RESTful API documentation by combining documentation that’s been hand-written with auto-generated API documentation produced by Swagger. The result is intended to be an up-to-date, easy-to-read, on- and offline user guide, comparable to GitHub’s API documentation. The output of Swagger2Markup can be used as an alternative to swagger-ui and can be served as static content. NOTE: The Swagger Specification has been donated to to the Open API Initiative (OAI) and has been renamed to the OpenAPI Specification. Swagger2Markup converts a Swagger JSON or YAML file into several AsciiDoc or GitHub Flavored Markdown documents which can be combined with hand-written documentation. The Swagger source file can be located locally or remotely via HTTP. Swagger2Markup supports the Swagger 1.2 and 2.0 specification. Internally it uses the official swagger-parser and my markup-document-builder.

swagger-node - Swagger module for node.js

  •    Javascript

The swagger module provides tools for designing and building Swagger-compliant APIs entirely in Node.js. It integrates with popular Node.js servers, including Express, Hapi, Restify, and Sails, as well as any Connect-based middleware. With swagger, you can specify, build, and test your API from the very beginning, on your laptop. It allows you to change and iterate your design without rewriting the logic of your implementation. Remember, one great thing about this approach is that all of the Swagger validation logic is handled for you, and all of the routing logic is managed through the Swagger configuration. You don't have to code (or recode!) any of that stuff yourself.

core - The server component of API Platform: hypermedia and GraphQL APIs in minutes

  •    PHP

API Platform Core is an easy to use and powerful system to create hypermedia-driven REST APIs. It is a component of the API Platform framework and it can be integrated with the Symfony framework using the bundle distributed with the library. It natively supports popular open formats including JSON for Linked Data (JSON-LD), Hydra Core Vocabulary, Swagger (OpenAPI), HAL and HTTP Problem.

apidoc - RESTful web API Documentation Generator.

  •    Javascript

Generates a RESTful web API Documentation.apiDoc creates a documentation from API descriptions in your source code. It has support of API history, with that various API version levels can be compared.So it can be retraced what changed in the API since the last version.

swagger-codegen - swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition

  •    HTML

📔 The eBook A Beginner's Guide to Code Generation for REST APIs is a good starting point for beginners. Check out OpenAPI-Spec for additional information about the OpenAPI project.

swagger-editor - Swagger Editor

  •    Javascript

🕰️ Looking for the older version of Swagger Editor? Refer to the 2.x branch. Swagger Editor lets you edit Swagger API specifications in YAML inside your browser and to preview documentations in real time. Valid Swagger JSON descriptions can then be generated and used with the full Swagger tooling (code generation, documentation, etc).

flask-restplus - Fully featured framework for fast, easy and documented API development with Flask

  •    Python

Flask-RESTPlus is an extension for Flask that adds support for quickly building REST APIs. Flask-RESTPlus encourages best practices with minimal setup. If you are familiar with Flask, Flask-RESTPlus should be easy to pick up. It provides a coherent collection of decorators and tools to describe your API and expose its documentation properly using Swagger. Flask-RestPlus requires Python 2.7 or 3.4+.

dredd - Language-agnostic HTTP API Testing Framework

  •    Javascript

Dredd is a language-agnostic command-line tool for validating API description document against backend implementation of the API. Dredd reads your API description and step by step validates whether your API implementation replies with responses as they are described in the documentation.

abao - REST API automated testing tool based on RAML

  •    CoffeeScript

Abao is a command-line tool for testing API documentation written in RAML format against its back-end implementation. With Abao, you can easily plug your API documentation into a Continuous Integration (CI) system (e.g., Travis, Jenkins) and have API documentation up-to-date, all the time. Abao uses Mocha for judging if a particular API response is valid or not. This version of the software only supports the RAML-0.8 specification.