Add response descriptions to chalice
Project description
An add-on for chalice to improve documentation of an API Gateway.
Describe API Parameters
API Responses can be described with the describe.parameter decorator. They will be added as documentation to the API Gateway. They should go after the route decorator, and can be stacked.
import leangle
@app.route('/', methods=['POST'])
@leangle.describe.parameter('body', description='Create a new widget', schema='WidgetSchema')
def index():
return Response(status_code=201)
Describe API Responses
API Responses can be described with the describe.response decorator. They will be added as documentation to the API Gateway. They should go after the route decorator, and can be stacked.
import leangle
@app.route('/', methods=['POST'])
@leangle.describe.response(201, description='Created')
@leangle.describe.response(422, description='Missing Parameter')
def index():
return Response(status_code=201)
Add schemas
Schema objects can be defined using marshmallow
When decorated with the add_schema decorator, they will be added as models to the API Gateway.
import leangle
from marshmallow import Schema, fields
@leangle.add_schema('BaseSchema')
class BaseSchema(Schema):
name = fields.Str()
@app.route('/', methods=['POST'])
@leangle.describe.response(201, description='Created', schema='BaseSchema')
def index():
return Response(status_code=201)