可靠的企业战略,数字化转型,智能化转型和企业架构智库

【API】Open API 工具

Current OpenAPI Version

3.0.2 - Link to the specification

Security

通过探索OpenAPI规范,一些工具可以查找您可能没有注意到的攻击向量。

Name Language v2 v3 GitHub
API Contract Security Audit - 上传OpenAPI文件,获取包含已定位漏洞的详细报告,可能的攻击方案,补救方法。 SaaS  

Converters

各种工具可以转换为OpenAPI标准。 适用于各种API格式。

Name Language v2 v3 GitHub
Apimatic Transformer - 转换来自RAML,API Blueprint,OAI v2 / v3,WSDL等的API描述。 SaaS  
API Flow - 从多种格式转换为多种格式。 链接到菲尔的叉子因为原件完全坏了 JavaScript ????
Google Gnostic - 将OpenAPI描述编译为等效的 Protocol Buffer 表示 Go
swagger2openapi - 将规格从OpenAPI v2.0升级到v3.0,捆绑到一个大型文件或尊重$ refs Node.js
OAS RAML Converter -在OAS和RAML API规范之间进行转换 Node.js
OData OpenAPI - OData 4.0 to OpenAPI 3.0.0 转换 XSLT
OpenAPI Filter -从OpenAPI定义中过滤内部组件 Node.js
OData.OpenAPI -将Edm(实体数据模型)转换为OpenApi 3.0 .NET
pyswagger - Python中的客户端和转换器,类型安全,动态,规范兼容。 Python ????
odata2openapi - OData 4.0 to OpenAPI 2 转换 Node.js
avantation - 从HAR生成OpenAPI 3.x规范。 TypeScript
OpenAPI Generator -模板驱动的引擎,通过解析OpenAPI定义(社区驱动的swagger-codegen分支)生成不同语言的文档,API客户端和服务器存根 Java
go-swagger -一切都在一个。 解析器,验证器,从代码生成规范,或从规范生成代码! Go ????

Documentation

生成器可帮助构建基于各种格式和标准的API文档。

Name Language v2 v3 GitHub
APIMatic Developer Experience Portal - Customizable developer portals packed with language specific documentation, client libraries, code samples, an API console and much more. SaaS  
Kong Enterprise Edition - Highly customizable developer portal with developer onboarding, integrated with the Kong API Gateway Lua  
LucyBot DocGen - Generate a customizable website, with API documentation, console, and interactive workflows, from an OpenAPI spec JavaScript
openapi-viewer - Browse and test a REST API described with the OpenAPI 3.0 Specification Vue.js
openapi-ui - React based OpenAPI 3.0+ documentation generator React.js
ReDoc - OpenAPI/Swagger-generated API Reference Documentation React.js
widdershins - Generate Slate/Shins markdown from OpenAPI 2.0/3.0.x Node.js
openapi3-generator - Use your API OpenAPI 3 definition to generate code, documentation, and literally anything you need. Node.js
MrinDoc - Open API spec viewer. Vue.JS
RapiDoc - Custom Element to view OpenAPI spec. Custom Element
RapiPdf - Custom Element to generate PDF from OpenAPI spec. Custom Element
Stoplight - Create beautiful, customizable, interactive API documentation generated from your OpenAPI Specification, integrated with the Stoplight platform SaaS  
Bump - Bump generates elegant documentations and changelogs from your OpenAPI specifications. Git diff, for your API. SaaS  

Text Editors

文本编辑器,以帮助构建API文档。

Name Language v2 v3 GitHub
VSCode/OpenAPI (Swagger) editor - OpenAPI (Swagger) 2.0/3.0.x plugin for Visual Studio Code - new file templates, navigation, intellisense, code snippets Any
KaiZen-OpenAPI-Editor - Full-featured Eclipse editor for OpenAPI 2.0 and 3.0, also available on Eclipse Marketplace. Java
Atom/linter-swagger - This plugin for Atom Linter will lint Swagger 2.0 specifications or OpenAPI 3.0, both JSON and YAML using swagger-parser node package. JavaScript
Swagger Editor - Design, describe, and document your API on the first open source editor fully dedicated to OpenAPI-based APIs. Node.js
SwaggerHub - API design and documentation platform to improve collaboration, standardize development workflow and centralize their API discovery and consumption. SaaS/On-Premise NodeJS  
Senya Editor - Design API specifications fast and effectively​ in your favorite JetBrains IDE. Java  
VSCode/openapi-lint - OpenAPI (Swagger) 2.0/3.0.x intellisense, validator and linter for Visual Studio Code Node.js

GUI Editors

Visual editors to help build API docs.

Name Language v2 v3 GitHub
RepreZen API Studio - RepreZen API Studio is an integrated workbench that brings API-first design into focus for your whole team, harmonizes your API designs, and generates APIs that click into client apps. Java  
Apicurio Studio - A standalone API design studio that can be used to create new or edit existing API designs. TypeScript
Stoplight - Stoplight is the Complete OpenAPI Specification Toolkit that leverages your OpenAPI documents to drive the entire API development process SaaS ????  
OpenAPI-GUI - OpenAPI-GUI is a GUI for creating and editing OpenAPI version 3.0.x JSON/YAML definitions. JavaScript ????

Mock Servers

加速API测试和开发的服务和平台。

Name Language v2 v3 GitHub
Connexion - OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support Python
Prism - Turn any OAI file into an API server with mocking, transformations, validations, and more. cli
Sandbox - SaaS, self-hosted, or CLI tool for turning OpenAPI (and other) definitions into a mock server, where you can modify behaviour, simulate downtime, and any other nonsnese you can think of thanks to a built-in code editor! SaaS / Java ????
Microcks - Mocking and testing platform for API and microservices. Turn your OAI contract examples into ready to use mocks. Use examples to test and validate implementations according schema elements. Self-hosted / SaaS
API Sprout - Lightweight, blazing fast, cross-platform OpenAPI 3 mock server with validation cli / Docker
MockLab - SaaS platform to upload your spec to create a mock server SaaS
Fakeit - Create mock server from OpenAPI 3 specification with random response generation and request validation. cli / Docker

Server implementations

轻松创建和实现API的资源和路由。

Name Language v2 v3 GitHub
Vert.x Web Api Contract - Create API endpoints with Vert.x 3 and OpenAPI 3 with automatic requests validation Java, Kotlin, JavaScript, Groovy, Ruby, Ceylon & Scala
BaucisJS + baucis-openapi3 - Create REST resources with persistence on MongoDB and expose OpenAPI v.3 contracts JavaScript
BaucisJS + baucis-swagger2 - Create REST resources with persistence on MongoDB and expose OpenAPI v.2 contracts JavaScript
@smartrecruiters/openapi-first - Initializes your API express application with specification in OpenAPI Specification 3.0 format using provided middlewares (parsers, validators, controller, defaults setting) or custom ones Node.js
openapi-backend - Build, Validate, Route, and Mock using OpenAPI specification. Framework-agnostic Node.js
OpenAPI Enforcer Middleware - An express middleware that makes it easy to write web services that follow an Open API specification by leveraging the tools provided in the openapi-enforcer package. Node.js
MicroTS - Code generator - from OpenAPI specification generates TypeScript project with Docker. Node.js
API Platform - REST and GraphQL framework to build modern API-driven projects PHP
Mojolicious::Plugin::OpenApi - Mojolicious::Plugin::OpenAPI is a plugin for Mojolicious framework that add routes and input/output validation to your Mojolicious application based on a OpenAPI (Swagger) specification. Currently v2 is very well supported, while v3 should be considered EXPERIMENTAL. Perl
Fusio - Open source API management platform PHP

Miscellaneous

用于加载文档和解析引用的工具。

Name Language v2 v3 GitHub
OpenAPI Server Code Generator (oapi-codegen) - Generate a web service using the [Echo](https://github.com/labstack/echo) framework from an Open API v3 specification Go
Sway - A library that simplifies OpenAPI integrations/tooling. JavaScript ????
openapi-diff - Utility for comparing two OpenAPI specifications. Java
$ oas (CLI) - Generate OAS files from code comments and easily host them ($ npm install oas -g) JavaScript

Parsers

在验证规范和文档时,在版本之间序列化和迁移API文档。

Name Language v2 v3 GitHub
swagger-parser - OpenAPI Specification parser which is still using the name "Swagger' because they're stubborn. New versions are v3 only, older versions support v1.x/v2. Java
BigstickCarpet/swagger-parser - Swagger/OpenAPI 2.0 and 3.0 parser and validator. Can also bundle multiple files into one via `$ref`. Node.js
KaiZen OpenAPI Parser - High-performance Parser, Validator, and Java Object Model for OpenAPI 3.x Java
OpenAPI-TS - TS Model & utils for OpenAPI 3.0.x contracts TypeScript
kin-openapi - A Go library for handling OpenAPI 3.0 specifications Go
php-openapi - A PHP library for handling OpenAPI 3.0 specifications PHP
Object Oriented OpenAPI Specification - An object oriented approach to generating OpenAPI specs, implemented in PHP PHP
OpenAPI3-Rust - Rust serialization library for OpenAPI v3 Rust
psx-api - Parse and generate API specification formats PHP
Microsoft/OpenAPI.NET - C# based parser with definition validation and migration support from V2 .NET
oas_parser - A Ruby parser for Open API Spec 3.0+ definitions. Ruby
openapi3 - An OpenAPI 3 Specification client, and validator, covering both schema validation and limited data validation for Python 3. Python
Spot - A concise, developer-friendly way to describe your API contract. TypeScript

Schema Validators

使用这些工具快速轻松地验证API架构。

Name Language v2 v3 GitHub
Speccy - Lint to enforce quality rules on your OpenAPI specifications CLI
BigstickCarpet/swagger-cli - A handy cli tool for validating JSON or YAML files schema files that respects $ref Node.js / CLI
openapi-spec-validator - OpenAPI Spec validator Python
Sway - A library that simplifies OpenAPI integrations/tooling. JavaScript ????
oval - CLI for (O)penAPI Specification document (val)idation. JavaScript ????
Spectral - A flexible JSON object linter with out of the box support for OpenAPI Specification TypeScript/JavaScript
OpenAPI Enforcer - Tool to 1) Validate your OAS document, 2) serialize, deserialize, and validate incoming requests and outgoing responses, 3) simplify response building, and 4) producing mock data. Exensible via plugins. Node.js
php-openapi - A PHP library for handling OpenAPI 3.0 specifications PHP

Data Validators

帮助您验证API数据的工具。

Name Language v2 v3 GitHub
Sway - A library that simplifies OpenAPI integrations/tooling. JavaScript ????
Openapi validator - Library that checks response against Openapi schema, based on request path and method PHP
express-ajv-swagger-validation - Express middleware which validates request body, headers, path parameters and query parameters according to the OpenAPI Specification Node.js
committee - Validation middleware for Rack server. This gem validates request and response using OpenAPI Specification. And convert parameter string to specific Ruby object (e.g. convert datetime string to DateTime class). Ruby
OpenAPI Enforcer - Tool to 1) Validate your OAS document, 2) serialize, deserialize, and validate incoming requests and outgoing responses, 3) simplify response building, and 4) producing mock data. Exensible via plugins. Node.js
OpenAPI Validation Middleware - a PSR-7 and PSR-15 middleware to validate requests and responses against your OpenAPI spec PHP
kin-openapi - A Go library for handling OpenAPI 3.0 specifications Go
openapi-psr7-validator - It validates PSR-7 messages against OpenAPI specifications PHP

Testing

快速执行API请求并通过命令行或GUI界面动态验证响应。

Name Language v2 v3 GitHub
Dredd - Language-agnostic command-line tool for validating API description document against backend implementation of the API Javascript
Openapi validator - Library that checks response against Openapi schema, based on request path and method PHP
OpenAPI Enforcer - Tool to 1) Validate your OAS document, 2) serialize, deserialize, and validate incoming requests and outgoing responses, 3) simplify response building, and 4) producing mock data. Exensible via plugins. Node.js
Chai OpenAPI Response Validator - Simple Chai support for asserting that HTTP responses satisfy an OpenAPI spec. Node.js
hikaku - A library that tests if the implementation of a REST-API meets its specification. Kotlin
Swagger Inspector - Swagger Inspector is a free online tool to quickly execute any API request, validate its responses and generate a corresponding OpenAPI definition. Self-hosted/SaaS  
Assertible - Import an OpenAPI specification into Assertible to generate tests that validate JSONSchema responses and status codes on every endpoint. SaaS  

SDK Generators

通过创建SDK快速生成文档,描述和客户端。

Name Language v2 v3 GitHub
OpenAPI Generator - A template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI definition (community-driven fork of swagger-codegen) Java
APIMatic CodeGen - Bring in your API description (OAI v2/v3, RAML, API Blueprint, WSDL, etc.) to generate fully functional SDKs in over 10 languages. SaaS  
janephp/open-api - Generate a PHP Client API (PSR7 compatible) given a OpenAPI specification. PHP
go-swagger - Everything all in one. Parser, validator, generates spec from code, or code from spec! Go ????
guardrail - Principled code generation from OpenAPI Specifications Scala, Java, ...

 

原文:https://openapi.tools/