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
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file,You can obtain one at http://mozilla.org/MPL/2.0/.
Copyright (c) 2017, Franck Bret