Python HTTP REST library including OOP-readiness and Open-API generation
For a more comprehensive documentation see: https://restit.readthedocs.io/en/latest/
- WSGI conform
- Validation (using marshmallow)
- query parameter validation
- path parameter validation
- request body validation
- response body validation
- OpenApi documentation generation
- OOP-ready (no module-based global instances necessary)
- Easy hyperlink generation
- Exception mapping
- Response serialization customization
- Request deserialization customization
- Easy to test
from restit import Request, Resource, Response, RestItApp
from restit.decorator import path
@path("/")
class IndexResource(Resource):
def get(self, request: Request) -> Response:
return Response("Hello from index.")
app = RestItApp(resources=[IndexResource()])
if __name__ == "__main__":
# start a development server on http://127.0.0.1:5000
app.start_development_server()
You can also use a production-ready server like Gunicorn (given the name of the above module is restit_app_test.py):
gunicorn -w 4 restit_app_test:app