Skip to main content

Add response descriptions to chalice

Project description

GitHub https://travis-ci.org/jsfehler/leangle.svg?branch=master https://coveralls.io/repos/github/jsfehler/leangle/badge.svg?branch=master

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)

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page