Simple library that helps you validate your API endpoints requests/responses with jsonschema. Documentation is also available here at https://aiohttp-validate.readthedocs.io.
Install from PyPI:
pip install aiohttp_validate
Complete example of validation for text tokenization microservice:
from aiohttp_validate import validate @validate( request_schema={ "type": "object", "properties": { "text": {"type": "string"}, }, "required": ["text"], "additionalProperties": False }, response_schema={ "type": "array", "items": { "type": "array", "items": { "type": "array", "items": {"type": "string"} } } } ) async def tokenize_text_handler(request, *args): return tokenize_text(request["text"])
- The decorator to (optionally) validate the request to your aiohttp endpoint and it's response.
- Easily integrates with aiohttp_swaggerify to automatically document your endpoints with swagger.
- Validation errors are standardized and can be easily parsed by the clients of your service and also human-readable.
Install requirement and launch tests:
pip install -r requirements-dev.txt py.test
That package is influenced by Tornado-JSON written by Hamza Faran Code to parse errors is written by Ruslan Karalkin
- Free software: MIT license