OpenAPI
The OpenAPI Specification, початково відома як Swagger Specification, is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful Web services.[1] A variety of tools can generate code, documentation and test cases given an interface file. Development of the OpenAPI Specification (OAS) is overseen by the Open API Initiative, an open source collaborative project of the Linux Foundation.[2]
History
Swagger development began in early 2010. In March 2015, SmartBear Software acquired the open source Swagger API specification from Reverb Technologies.[3]
In November 2015, SmartBear, the company that maintained the Swagger specification and associated tools, announced that it was helping create a new organization, under the sponsorship of the Linux Foundation, called the Open API Initiative. A variety of companies, including Google, IBM and Microsoft are founding members.[4][5] SmartBear donated the Swagger specification to the new group. RAML and API Blueprint were also under consideration by the group.[6][7]
On 1 January 2016, the Swagger specification was renamed the OpenAPI Specification, and was moved to a new repository in GitHub.
SmartBear continues to develop tooling under the Swagger brand to support the OpenAPI specification. In 2016, SmartBear received the API Award in the API Infrastructure category for Swagger.[8]
In 2017, OpenAPI released a preview of version 3.0 of its specification.[9] MuleSoft, the main contributor to the alternative RESTful API Modeling Language (RAML), joined the OAS and open sourced their API Modeling Framework tool, which can generate OAS documents from RAML input.[10]
Usage
Applications implemented based on OpenAPI interface files can automatically generate documentation of methods, parameters and models. This helps keep the documentation, client libraries, and source code in sync.[11]
Features
The OpenAPI Specification is language-agnostic. It is also extensible into new technologies and protocols beyond HTTP.
With OpenAPI's declarative resource specification, clients can understand and consume services without knowledge of server implementation or access to the server code.
Tools that work with OpenAPI
The Open API Initiative maintains a list of implementations for version 3.0 of the specification. Unofficial lists also exist.
SmartBear still brand their OpenAPI tools with the Swagger moniker.
The Swagger UI framework allows both developers and non-developers to interact with the API in a sandbox UI that gives insight into how the API responds to parameters and options. Swagger can handle both JSON and XML.
Swagger-Codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing the OpenAPI definition.
See also
- Representational State Transfer
- Overview of RESTful API Description Languages including RAML, WADL, WSDL, and others.
References
- ↑ Linux Foundation wants to extend Swagger in connected buildings | Business Cloud News. Процитовано 22 квітня 2016.
- ↑ https://openapis.org/governance
- ↑ SmartBear Assumes Sponsorship of Swagger API Open Source Project. SmartBear. Процитовано 25 березня 2015.
- ↑ SmartBear, Linux Foundation launch Open API Initiative to Evolve Swagger. ProgrammableWeb. 10 листопада 2015. Процитовано 21 квітня 2016.
- ↑ New Collaborative Project to Extend Swagger Specification for Building Connected Applications and Services. www.linuxfoundation.org. Процитовано 22 квітня 2016.
- ↑ Montcheuil, Yves de. In 2016, the need for an API meta-language will crystallize. InfoWorld. Процитовано 25 квітня 2016.
- ↑ Amazon API Gateway Now Supports Swagger Definition Import. InfoQ. Процитовано 25 квітня 2016.
- ↑ API World 2016
- ↑ The OpenAPI Spec, Based on Swagger, Reaches 3.0. InfoQ. Процитовано 14 травня 2017.
- ↑ The HTTP API space is Consolidating around OAS. InfoQ. Процитовано 14 травня 2017.
- ↑ swagger-api/swagger-spec. GitHub. Процитовано 1 грудня 2015.