devxoul / Flask Restdoc
Licence: mit
Flask-Restdoc is a simple tool that generates RESTful API documentation automatically from python files.
Programming Languages
python
139335 projects - #7 most used programming language
==================== Flask-Restdoc v0.0.2
Flask-Restdoc is a simple tool that generates RESTful API documentation automatically from python files.
Installation
You can install Flask-Restdoc with pip
.
::
$ pip install flask-restdoc
How-to
Step 1. Make Restdoc Instance
First, you need to make an instance of Restdoc
.
::
from flask import Flask
from restdoc import Restdoc
app = Flask(__name__)
restdoc = Restdoc(app)
Or you can initiate app later.
::
restdoc.init_app(app)
Step 2. Configure Output Path
You have to set output path at app.config
. Path must includes output file name.
::
app.config['RESTDOC_OUTPUT'] = '/Users/xoul/Documents/api.md'
Step 3. Decorate URL Endpoints
In your view.py
(or something else), add decorators to url endpoints.
::
api = Blueprint('api', __name__)
@restdoc.api(api,
description='asdasd',
params=[
('email', True),
('password', True, 'SHA-1')
],
status=200,
sample_response={
'status': 'ok'
},
errors=[1001,1002])
@api.route('/login')
def login():
pass
Parameters
blueprint
A blueprint object.
description
API description string.
params
URL Parameters or form data for request. List of tuple contains parameter name, required option(True if required) and description.
status
A HTTP status code for successful request. 200 is default.
sample_response
A sample response object. This will be written in JSON format.
errors
Error codes that can be occurred in this function.
Step 4. Error Definition List (Optional)
----------------------------------------
Flask-Restdoc generates error information from error definition list. You have to make a list of error definitions. Each error object is tuple that contains HTTP status code, error code and message.
::
errors = [
# (HTTP status, Error code, Message)
(403, 1001, 'NOT_AUTHORIZED'),
(400, 1100, 'NEED_EMAIL'),
(400, 1101, 'NEED_PASSWORD')
]
Then, set error definition list to ``restdoc`` instance.
::
restdoc.set_errors(errors)
Step 5. Generate
----------------
Just call method ``generate`` to generate documentation.
::
restdoc.generate()
Change Logs
===========
v0.0.2
------
- Added line break after error definitions.
- Converted <int:id> to {id} format.
v0.0.1
------
- Hello, Restdoc!
Future Plans
============
- Support other formats. (Such as rst, html, etc.)
- Model documentation.
License
=======
Flask-Restdoc is under MIT License.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].