A resource driven framework to set up a {json:api} + GraphQL endpoint in record time.
Let us look at these great articles written by some very experiences developers -
- Phil Sturgeon says if you use json:api you do not need GraphQL
- Bill Doerrfeld writes about the benefits of json:api
- Jorge says json:api is a simple alternative to GraphQL
- Jeremy Sherman says he is not impressed by json:api and GraphQL is better
- Brandur says GraphQL is the next frontier in Web Developement
And in fact, some of the most used public APIs like Github have both REST and GraphQL.
jagql lets you build a backend with both {json:api}
and GraphQL support really really fast.
NOTE: This is a fork of holidayextra's jsonapi-server We have merged a lot of pending PRs on the original repo that we felt we would gain advantage from. The original project was coing a bit too slowly for our needs.
In upstream, keys are by default uuid
and are taken from DB, if generateId
= true
We instead use a different property primaryKey
, whose possible values are
uuid
: Uses UUID v4 (generated from the client)autoincrement
: Uses AUTOINCREMENT integers
*In future there might be other types of primaryKeys if required.
When creating a field, you can state how to relate it
jsonApi.define({
...
attributes: {
...
author: jsonApi.Joi.one('people').uidType('uuid')
...
}
})
You'd want to use our version of jsonapi-store-[*] plugins with this as the original versions will not be compatible with this
The old readme here is verbatim copy of the original project