Today, the JSON API team would like to announce the first alpha release of the JSON API module. This marks a significant milestone for the module, but more importantly, a very significant step in Drupal’s API First Initiative. This release is the culmination of months of volunteer work and contribution from the community, including the collaboration of the Drupal Core REST team.
The JSON API module is a plug-and-play module which exposes a full-featured REST API based on Drupal’s entity system. It is fully compliant with the JSON API specification, meaning it will work out-of-the-box with frontend frameworks that also support the specification.
The JSON API module is a configuration-not-required alternative to Drupal’s core REST module. Simply enable the module to start interacting with the entities in your application, including configuration entities! Entities also come with collections — endpoints which expose content listings without the need to configure and export Views. This allows a decoupled site to have a true separation of content and presentation between the backend and the frontend. Collection endpoints come with a rich and expressive filter, sort, and pagination syntax allowing your frontend applications to use all the power of Drupal’s backend entity queries in Drupal 8 without any custom code.
In addition, the JSON API module supports sparse fieldsets and embedded resources.
Sparse fieldsets allow you to request only the fields you need. This can significantly reduce the size of your JSON payload, improving response time and speeding up your frontend application.
Embedded resources allow you to embed supporting content in your requests, reducing network round trips to make your frontend applications more performant. For example, you can easily include fully loaded user and taxonomy term entities in the same request as a blog post. Previously, this would have required three separate consecutive network requests using the REST module.
As always, with the release of any alpha software, we rely on our users to report bugs and make recommendations for improvement.
Here's how you can help:
Finally, please leave us your email so we can follow up with a survey in a few months. We promise not to use your email for anything except to better the JSON API module.
With your help, we can improve upon the work already done and also further Drupal’s API First Initiative. The more feedback we have, the more confident we can be about including the JSON API module in Drupal 8.3 as an experimental core module. The more we can learn today, the better we can make Drupal for building tomorrow’s applications.
So, give JSON API a try, and let us know what you think!
Thanks to Gabe Sullice (Aten Design Group) and Mateu Aguilo Bosch (Lullabot) for their collaboration on this post. Thanks especially to all those who have already installed the module and to those who have helped identify any bugs and inconsistencies in order to make this release possible.