Generate a Swagger/OpenAPI/OAS 2.0 specification for your servant API.
Swagger is a project used to describe and document RESTful APIs. The core of the project is the OpenAPI Specification (OAS). This library implements v2.0 of the spec. Unlike Servant it is language-agnostic and thus is quite popular among developers in different languages. It has also existed for a longer time and has more helpful tooling.
This package provides means to generate a Swagger/OAS specification for a Servant API and also to partially test whether an API conforms with its specification.
Generated Swagger specification then can be used for many things such as
displaying interactive documentation using Swagger UI;
generating clients and servers in many languages using Swagger Codegen;
and many others.
servant-swagger
Swagger 2.0 conforming json for servant APIs.
Motivation
Swagger is a project used to describe and document RESTful APIs. Unlike Servant it is language-agnostic and thus is quite popular among developers in different languages. It also exists for a longer time and has more tools to work with.
This package provides means to generate Swagger specification for a Servant API and also to partially test whether API conforms with its specification.
Generated Swagger specification then can be used for many things such as
- displaying interactive documentation using Swagger UI;
- generating clients and servers in many languages using Swagger Codegen;
- and many others.
Usage
Please refer to haddock documentation.
Some examples can be found in example/
directory.
Try it out
All generated swagger specifications can be interactively viewed on Swagger Editor.
Ready-to-use specification can be served as JSON and interactive API documentation can be displayed using Swagger UI.
Many Swagger tools, including server and client code generation for many languages, can be found on Swagger's Tools and Integrations page.
Contributing
We are happy to receive bug reports, fixes, documentation enhancements, and other improvements.
Please report bugs via the github issue tracker.