Skip to content

Latest commit

 

History

History
112 lines (95 loc) · 13.9 KB

IMPLEMENTATIONS.md

File metadata and controls

112 lines (95 loc) · 13.9 KB

Implementations

Below is a list of known tooling that implements the 3.0.0 specification. While support for the 3.0.0 specification matures, refer to the details of projects listed below for any notes about stability and roadmap. The process to improve the 3.x specification includes feedback from end-users and tooling creators. We strongly encourage draft tooling be made available for early users of OAS drafts.

These tools are not endorsed by the OAI.

Low-Level tooling

Title Project Link Language Description
oasdiff github/tufin/oasdiff Go Diff tool for OpenAPI 3.x specs, written as a Golang module
swagger-parser github/swagger-api Java Swagger 1.0, 1.1, 1.2, 2.0 to OpenAPI Specification converter
swagger-models github/swagger-api Java OpenAPI 3.0 Java Pojos
springdoc-openapi github/springdoc/springdoc-openapi Java Library that produces OpenAPI 3.x specification documentation for spring-boot applications.
KaiZen OpenAPI Parser github/RepreZen/KaiZen-OpenAPI-Parser Java High-performance Parser, Validator, and Java Object Model for OpenAPI 3.x
openapi3-ts github/metadevpro/openapi3-ts TypeScript TS Model & utils for OpenAPI 3.0.x contracts
swagger2openapi github/mermade/swagger2openapi Node.js An OpenAPI / Swagger 2.0 to OpenAPI 3.0.x converter and validator
Microsoft.OpenApi.net github/microsoft/OpenApi.net dotnet C# based parser with definition validation and migration support from V2
odata-openapi github/oasis-tcs/odata-openapi XSLT OData 4.0 to OpenAPI 3.0.0 converter
openapi3_parser github/kevindew/openapi3_parser Ruby A Ruby implementation of parser and validator for the OpenAPI 3 Specification
oas_parser github/Nexmo/oas_parser Ruby An open source OpenAPI Spec 3 Definition Parser written in Ruby
oas3-remote-refs github//OverSpeedIO/oas3-remote-refs Node.js Tool to pull remote references and merge them into the definitions of the provided OpenAPI3 specification.
go-openapi github/nasa9084/go-openapi Go Golang struct model for OpenAPI 3.x.
openapi github/wzshiming/openapi Go OpenAPI 3 Specification for golang
kin-openapi github/getkin/kin-openapi Go OpenAPI 3.x implementation for Go (parsing, converting, validation)
openapi-go github/swaggest/openapi-go Go Type-safe OpenAPI 3.x bindings and generator from code
Spectral github/stoplightio/spectral TypeScript, JavaScript A flexible JSON object linter with out of the box support for OpenAPI Specification 2 and 3
openapi-validator gitlab/mmal/openapi-validator PHP Validates response against OpenAPI schema
OpenAPI-Delphi github/paolo-rossi/OpenAPI-Delphi Delphi Delphi implementation of a generator, parser and validator for the OpenAPI 3 Specification
spring-openapi github/jrcodeza/spring-openapi Java OpenAPI v3 generator for Java Spring. Includes also client generation. Supports inheritance with discriminators and Jackson annotations and custom interceptors.
schema2dts nfroidure/schema2dts Typescript Create types definitions from an OpenAPI schema.

Editors

Title Project Link Language Description
Visual Studio Code extension VS Code marketplace / OpenAPI (Swagger) editor TypeScript Extends VS Code to provide OpenAPI 2.0 and 3.0 navigation, code snippets, new API creation
Apicurio Studio github/Apicurio/apicurio-studio Java/TypeScript Web-Based visual designer for OpenAPI 2.0 and 3.0.0.
KaiZen OpenAPI Editor github/RepreZen/KaiZen-OpenAPI-Editor Java Eclipse Editor for OpenAPI 2.0 and 3.0
RepreZen API Studio RepreZen.com/OpenAPI Java Commercial desktop IDE for API design, documentation & development
OpenAPI-gui github/Mermade/openapi-gui Node.js GUI / visual editor for creating and editing OpenAPI definitions
SwaggerHub swaggerhub.com API Design and Documentation Platform, Built For Teams
swagger-editor github/swagger-api JavaScript Web-Based editor for creating, editing, validating and testing OpenAPI\Swagger definitions
Remain OpenAPI Studio Direct download: https://remainsoftware.com/extranet/download-type/openapi-studio-download
Or via Eclipse MarketPlace https://marketplace.eclipse.org/content/openapi-studio-rich-oas3-editor
Java A user-friendly, visually rich studio supporting all features defined by the OpenAPI 3. Easy but powerful UI-based components creation, API testing, import, export, code generation and much more.

User Interfaces

Title Project Link Language Description
openapi-viewer github/koumoul/openapi-viewer Vue.js Browse and test a REST API described with the OpenAPI 3.0 Specification.
swagger-ui github/swagger-api JavaScript Web-Based interface for visualizing and testing OpenAPI\Swagger definitions
lincoln github/temando/open-api-renderer React.js A React renderer for OpenAPI v3
WebSphere Liberty Download jar JavaScript Includes a native OpenAPI v3 UI which allows for customization of its banners and URL
Widdershins github/Mermade/widdershins Node.js Generate Slate/Shins markdown from OpenAPI 3.0.x
angular-swagger-ui github/angular-swagger-ui AngularJS An angularJS implementation of Swagger UI
Redoc github/Redocly/redoc JavaScript A React-based renderer with deep support for OAS v2 and v3 and zero dev-dependency
RapiDoc github/mrin9/RapiDoc JavaScript A highly customizable Web Component for viewing Swagger and OpenAPI definitions

Mock Servers

Title Project Link Language Description
API Sprout github/danielgtaylor/apisprout Go Lightweight, blazing fast, cross-platform OpenAPI 3 mock server with validation

Testing tools

Title Project Link Language Description
Schemathesis github/schemathesis/schemathesis Python A modern API testing tool for web applications built with OpenAPI and GraphQL specifications
Tcases for OpenAPI github/Cornutum/tcases Java Generates test cases directly from an OpenAPI 3.0.X definition. Creates tests executable using various test frameworks. Bonus: Semantic linter reports elements that are inconsistent, superfluous, or dubious.

Server Implementations

Title Project Link Language Description
Vert.x Web API Contract github/vert-x3/vertx-web Java, Kotlin, JavaScript, Groovy, Ruby, Ceylon & Scala Create an API endpoint with Vert.x 3 and OpenAPI 3 with automatic requests validation
Fusio github/apioo/fusio PHP, JavaScript Build API endpoints based on OpenAPI 3
Modern github/modern-project/modern-ruby Ruby OpenAPI 3-based Rack framework with automatic OAS generation and requests/response validation
Exegesis github/exegesis-js/exegesis Node.js OpenAPI 3 server-side framework for express and other frameworks.
PHP-CRUD-API github/mevdschee/php-crud-api PHP Automatic CRUD API with OpenAPI 3 docs
FastAPI github/tiangolo/fastapi Python OpenAPI 3 based, high performance, Python 3.6+ API framework with automatic data validation, serialization and great editor support.
Fastify OpenAPI v3 gitlab.com/m03geek/fastify-oas Node.JS Fastify OpenAPI v3+ plugin. Generates OpenAPI specification from fastify schemas and routes. Also serves swagger ui and spec in json/yaml formats.
openapi-backend github/anttiviljami/openapi-backend Node.js, TypeScript Build, Validate, Route, and Mock in the backend using OpenAPI v3 spec in your favourite framework
Connexion github/zalando/connexion Python Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support
JSONSchema::Validator https://github.com/skbkontur/perl-jsonschema-validator Perl OpenAPI 3 request/response validation
rest github.com/swaggest/rest Go API server with automatic request/response mapping/validation and OpenAPI schema
whook nfroidure/whook Typescript OpenAPI 3 based NodeJS server.

Client Implementations

Title Project Link Language Description
Scorpio github/notEthan/scorpio Ruby OpenAPI 2 and 3 implementation offering a HTTP client library
openapi-client-axios github/anttiviljami/openapi-client-axios JavaScript, TypeScript JavaScript client library for consuming OpenAPI-enabled APIs with axios. Types included.
restful-react github/contiamo/restful-react Typescript Well tested library to generate typesafe hooks and components. Easy to integrate into your development process.
openapi-ts-sdk-builder nfroidure/openapi-ts-sdk-builder Typescript Generate a TypeScript SDK from OpenAPI 3 definitions.
aiopenapi3 github.com/commonism/aiopenapi3 Python OpenAPI 3, Python3.7+ client & validator with automatic data validation & serialization, sync or asyncio.

Code Generators

Title Project Link Language Description
baucis-openapi3 github/metadevpro/baucis-openapi3 Node.js Baucis.js plugin for generating OpenAPI 3.0 compliant API contracts.
Google Gnostic github/googleapis/gnostic Go Compile OpenAPI descriptions into equivalent Protocol Buffer representations.
Gen github/wzshiming/gen Go Generate OpenAPI 3, client, and route based on golang source code.
serverless-openapi-documentation github/temando/serverless-openapi-documentation TypeScript Serverless 1.0 plugin to generate OpenAPI V3 documentation from serverless configuration
zero-rails_openapi github/zhandao/zero-rails_openapi Ruby Provide concise DSL for generating the OpenAPI Specification 3 documentation file for Rails application
slush-vertx github/pmlopes/slush-vertx Java, Kotlin & Groovy Generate server skeleton for Vert.x Web API Contract and API Client based on Vert.x 3 Web Client
WebSphere Liberty Download jar Java EE Generates OpenAPI v3 documentation from Java EE applications
swagger-node-codegen github/fmvilas/swagger-node-codegen Node.js Generates a Node.js/express server, but also has a template engine for creating any templates needed.
.NET-C#-Annotations github/Microsoft/OpenAPI-NET-CSharpAnnotations dotnet Convert your native C# comments/annotation XML from your API code into a OpenAPI document object.
Object Oriented OpenAPI Specification github/goldspecdigital/oooas PHP Generates OpenAPI documents using PHP.
swac github.com/swaggest/swac PHP, Go Generates clients for Go and PHP from OpenAPI 2/3.