Skip to main content

A data validation and REST auto-documenter for APIs.

Project description

Restifier is a python library for creating and documenting RESTful APIs.
It includes a middleware component, a set of decorators, and a “forms” library for validating/documenting requests. The middle generates a Swagger compatible JSON specification for the APIs automatically.

Author

Jesse Lovelace jesse@hawatian.com

License

The MIT License

Usage

See tests.py for information on usage. In general, so create a payload validator construct a class like this:

class HelloMessage(Message):
    greeting = StringProperty(description="The greating.",
        validators=[regex(re.compile('^[A-Za-z]+$')), required()])

class HelloResponseMessage(Message):
    salutation = StringProperty(description="The response.")
    tags = StringProperty(repeated=True)
    request = StructuredProperty(HelloMessage)

Then decorate your handlers like this:

class HelloHandler(RequestHandler):

    @api(input=HelloMessage, output=HelloResponseMessage)
    def post(self, obj):
        return {'salutation':'You are the best.'}

Also, to auto-document, use the middleware:

routes = [
    ('/api/v1/hello', HelloHandler)
]

app = DocumentedMiddleware(
    WSGIApplication(routes),
    api_base="/api/v1",
    api_overview="This is a super important API that does a lot of stuff."
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

restifier-1.0.4.tar.gz (15.0 kB view hashes)

Uploaded Source

Supported by

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