OpenAPI Specification

The OpenAPI Specification (originally known as the 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]

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.[3]

History

Both the specification and a framework implementation started as initiatives from Wordnik. Swagger was developed for Wordnik's own use during the development of Wordnik Developer and the underlying API. Swagger development began in early 2010.[3] In March 2015 SmartBear acquired the open-source Swagger API specification from Reverb technologies.[4]

In November 2015 SmartBear, the company that maintained Swagger, 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.[5][6] SmartBear donated the Swagger specification to the new group. RAML and API Blueprint are also under consideration by the group.[7][8]

On 1 January 2016 the Swagger specification was renamed the OpenAPI Specification, and was moved to a new repository in GitHub.

Swagger in 2016 has received the API Award in the API Infrastructure category.[9]

Features

The OpenAPI Specification is language-agnostic. It is also extensible into new technologies and protocols beyond HTTP.[3]

With Swagger's declarative resource specification, clients can understand and consume services without knowledge of server implementation or access to the server code.[3]

The Swagger UI framework allows both developers and non-developers to interact with the API in a sandbox UI that gives clear insight into how the API responds to parameters and options. Swagger may utilize both JSON and XML.[3]

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

See also

References

Bibliography

  • Haupt, F.; Karastoyanova, D.; Leymann, F.; Schroth, B. (2014). A Model-Driven Approach for REST Compliant Services. ICWS 2014. 2014 IEEE International Conference on Web Services. pp. 129–136. doi:10.1109/ICWS.2014.30. ISBN 978-1-4799-5054-6. 
This article is issued from Wikipedia - version of the 11/2/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.