Swagger offers a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. The Swagger framework works with many of the popular programming languages, such as Java, Scala, Clojure, Groovy, JavaScript, and .Net.
Swagger was initially developed by Wordnik (a property of Reverb) for meeting their in-house requirements, and the first version was released in 2011. The current release is Swagger 2.0, and it is 100 percent open source, supported by many vendors, such as PayPal, Apigee, and 3scale.
The Swagger framework has the following three major components:
Server: This component hosts the RESTful web API descriptions for the services that clients want to use
Client: This component uses the RESTful web API descriptions from the server to provide an automated interfacing mechanism to invoke the REST APIs
User interface: This part of the framework reads a description of the APIs from the server and renders it as a web...