- Notifications
You must be signed in to change notification settings - Fork0
Implements most of the JSON API 1.0 spec. If you're looking for rest_framework_ember (deprecated) check the `legacy` branch.
License
imtapps-dev/django-rest-framework-json-api
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Documentation:http://django-rest-framework-json-api.readthedocs.org/
Live demo (resets every hour):http://json-api.jerel.co/
Format specification:http://jsonapi.org/format/
By default, Django REST Framework will produce a response like:
{ "count": 20, "next": "http://example.com/api/1.0/identities/?page=3", "previous": "http://example.com/api/1.0/identities/?page=1", "results": [{ "id": 3, "username": "john", "full_name": "John Coltrane" }]}
However, for anidentity
model in JSON API format the response should looklike the following:
{ "links": { "prev": "http://example.com/api/1.0/identities", "self": "http://example.com/api/1.0/identities?page=2", "next": "http://example.com/api/1.0/identities?page=3", }, "data": [{ "type": "identities", "id": 3, "attributes": { "username": "john", "full-name": "John Coltrane" } }], "meta": { "pagination": { "count": 20 } }}
- Django
- Django REST Framework
$ pip install djangorestframework-jsonapi
$ git clone https://github.com/django-json-api/django-rest-framework-json-api.git$ cd django-rest-framework-json-api && pip install -e .
$ git clone https://github.com/django-json-api/django-rest-framework-json-api.git$ cd django-rest-framework-json-api && pip install -e .$ django-admin.py runserver --settings=example.settings
Browse tohttp://localhost:8000
It is recommended to create a virtualenv for testing. Assuming it is alreadyinstalled and activated:
$ pip install -e .$ pip install -r requirements-development.txt$ py.test
rest_framework_json_api
assumes you are using class-based views in DjangoRest Framework.
One can either addrest_framework_json_api.parsers.JSONParser
andrest_framework_json_api.renderers.JSONRenderer
to eachViewSet
class, oroverridesettings.REST_FRAMEWORK
REST_FRAMEWORK = { 'PAGE_SIZE': 10, 'EXCEPTION_HANDLER': 'rest_framework_json_api.exceptions.exception_handler', 'DEFAULT_PAGINATION_CLASS': 'rest_framework_json_api.pagination.PageNumberPagination', 'DEFAULT_PARSER_CLASSES': ( 'rest_framework_json_api.parsers.JSONParser', 'rest_framework.parsers.FormParser', 'rest_framework.parsers.MultiPartParser' ), 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework_json_api.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer', ), 'DEFAULT_METADATA_CLASS': 'rest_framework_json_api.metadata.JSONAPIMetadata',}
IfPAGINATE_BY
is set the renderer will return ameta
object withrecord count and alinks
object with the next and previous links. Pagescan be specified with thepage
GET parameter.
This package provides much more including automatic inflection of JSON keys, extra top level data (using nested serializers), relationships, links, and handy shortcuts like MultipleIDMixin. Read more athttp://django-rest-framework-json-api.readthedocs.org/
About
Implements most of the JSON API 1.0 spec. If you're looking for rest_framework_ember (deprecated) check the `legacy` branch.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- Python100.0%