Using JSON:API

Submitted by hussainweb on Fri, 05/31/2019 - 23:59
Session Track
Code & development
Skill level
Intermediate

JSON:API is in core and made stable as of Drupal 8.7. This makes it natural to first consider JSON:API for all your decoupled needs. Let’s learn how and determine if JSON:API fits your needs (hint: it probably does).

In this session, you’ll learn the JSON:API specification itself and how it compares to other solutions out there available to Drupal (namely the traditional REST resources and GraphQL). We will also briefly see why it made sense for jsonapi module to be in core. We will see how the jsonapi module fulfills the JSON:API specification in serving Drupal content in a highly customisable manner.

The Drupal jsonapi module is a zero configuration solution to get you started; however, like all zero configuration solutions, you may need to configure the behaviour and we will also learn how to do that. Further, we will look at options to further customise the output not supported by the jsonapi module.

By the end of this session, you’ll learn:

  • What is the JSON:API specification and why it exists.

  • JSON:API concepts like collections, filtering, includes, and relationships.

  • The Drupal implementation of the JSON:API specification.

  • Serializers and normalizers.

  • Configuring output served by the jsonapi module.

  • Writing your own JSON:API endpoints to completely control the output.

  • JSON:API client implementations.