The main idea is to provide facilities for building restful api that interacts with AnyBlok models through a CRUD like pattern.
As dependecy, it use Cornice for its validators and schema abilities and Marshmallow for schema definition, serialization and deserialization (we have since split this work to anyblok_marshmallow).
- Free software: Mozilla Public License Version 2.0
- Documentation: https://anyblok-pyramid-rest-api.readthedocs.io
- Incoming request validation through schema (validation before database query and ability to validate several parts of the request object)
- CRUD queries always with request.validated data
- Data deserialization for response through schema
- Easy CRUD resource declaration (map a model on an endpoint)
- Automatic schema generation based on models introspection
- Advanced collection filtering, ordering, paging (querystring validation through schema)
- Helpers for JsonSchema or Swagger
- Advanced introspection for api documentation generation
incoming request -> validators -> deserializer (json to dict) -> schema load -> request.validated
-> request.errors
request.validated -> crud -> resulting records -> deserializer (records to schema dump) -> serializer (default pyramid / cornice dict to json serializer) -> response
Franck Bret franckbret@gmail.com https://github.com/franckbret