Skip to main content

A data validation and REST auto-documenter for APIs.

Project description

# Restifier

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:

```python
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:

```python
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:

```python
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.2.tar.gz (14.6 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