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 [email protected] https://github.com/franckbret