Flask extension to build REST APIs around JSONAPI 1.0 specification.
Feature: Configuration: you can disallow to disable pagination. You can set ALLOW_DISABLE_PAGINATION to False in your configuration file.
New feature: WARNING: I have broken the compatibility with old JsonApiException class because i have changed initialization parameters. I made this to get a closer usage of JsonApiException compared to base python Exception class and to add all attributes of a jsonapi error.
Bug fix: #74 (thanks to @hellupline ) #69 (thanks to @jcampbell )
New features:
SQLAlchemy data layer: include querystring parameter values are now eager-loaded with the main query by default. This feature greatly increases performance because it merge all queries made to serialize relationships of each item into one. You can disable this feature, just set the eagerload_includes data layer parameter to False.
SQLAlchemy data layer: the after_get_collection default method implementation now returns a collection. So you can create your own collection before serialization with the collection of data retrieved before.
Configuration: you can now control the default pagination size with the configuration keyword PAGE_SIZE. Default is 30.
Configuration: you can now control the maximum page size with the configuration keyword MAX_PAGE_SIZE.
Configuration: you can now control the maximum include depth with the configuration keyword MAX_INCLUDE_DEPTH. (Exemple: if you set the value to 2 you can do ?include=computer.owner but not ?include=computer.owner.computers)
Bug fix:
Fix multi sort with sqlalchemy 90aadfdce054f0b5b78ea44c24fcd5210454def4 Fix Content-Type header check 60b6691ed412976d0d60367dc50a73f226a75275
better error handling when object is not found
Add permission system and OAuth support via Flask-OAuthlib
Bug fix on custom data layer usage Bug fix on filtering (thanks to jamesalbert)