The API itself is documented using Swagger, a lightweight mechanism for documenting RESTful API's using JSON. This allows us to use swagger-ui to provide executable documentation for the API, generate client bindings in different languages, and generate a lot of the boilerplate code for implementing the RESTful bindings. The API docs live in the rest-api/ directory. The RESTful bindings are generated from the Swagger API docs using a set of Mustache templates. The code generator is written in Python, and uses Pystache. Pystache has no dependencies, and be installed easily using pip. Code generation code lives in rest-api-templates/. The generated code reduces a lot of boilerplate when it comes to handling HTTP requests. It also helps us have greater consistency in the REST API. (closes issue ASTERISK-20891) Review: https://reviewboard.asterisk.org/r/2376/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386232 65c4cc65-6c06-0410-ace0-fbb531ad65f3 |
||
---|---|---|
.. | ||
api-docs | ||
README.txt | ||
resources.json |
<!-- Written in -*- Markdown -*- --> This directory contains the specification for the Asterisk RESTful API. The API is documented using Swagger[1]. This is used to not only generate executable documentation pages for the API, but also to generate a lot of the boilerplate necessary for implementing the API with Asterisk's HTTP server. [1]: http://swagger.wordnik.com/