【API】Open API 工具

Chinese, Simplified

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/

 

 

SEO Title
OpenAPI.Tools