
Deze pagina toont voorbeelden van verschillende GET-verzoeken voor de JSON:API module.
In alle onderstaande voorbeelden zijn geen request headers vereist. Er is geen authenticatie nodig als anonieme gebruikers toegang hebben tot content-entiteiten. Voor configuratie-entiteiten zoals menu’s, zie de laatste sectie(s).
Let op dat in alle gevallen, wanneer een id nodig is, dit altijd de uuid van de entiteit is, niet de entity id.


Deze pagina toont voorbeelden van verschillende POST-verzoeken voor de JSON:API module.
POST-verzoeken worden gebruikt om nieuwe resources aan te maken. Als je resources wilt wijzigen, moet je ze PATCH-en.


Deze pagina toont voorbeelden van PATCH-verzoeken voor de JSON:API module.
Update-operatie inschakelen
Ga naar /admin/config/services/jsonapi
en vink de optie "Alle JSON:API create-, read-, update- en delete-operaties toestaan." aan.


Deze pagina toont voorbeelden van DELETE-verzoeken voor de JSON:API-module.
DELETE-operatie inschakelen
Bezoek /admin/config/services/jsonapi
en vink de optie “Alle JSON:API-operaties voor aanmaken, lezen, bijwerken en verwijderen accepteren.” aan.


Sommige sites willen bepaalde JSON:API-resourcetypen of velden niet exposen of willen velden hernoemen om een schonere interface te bieden.
Om deze aanpassingen mogelijk te maken, dispatcht JSON:API een ResourceTypeBuildEvent
-eventobject met de eventnaam ResourceTypeBuildEvents::BUILD
. Raadpleeg subscribe to and dispatch events voor uitleg over het gebruik van deze events.
Subscribers kunnen de volgende methoden aanroepen:


Bestanden uploaden wordt nu ondersteund; zie de releasenotes voor meer informatie: https://www.drupal.org/node/3024331
Deze twee afbeeldingen laten zien hoe je Postman gebruikt om een bestandsupload via JSON:API te testen


TL;DR
Kies REST als je niet-entiteitsgegevens wilt exposen. In alle andere gevallen kies je JSON:API.
Iets genuanceerder:


JSON:API is volledig entiteitsgebaseerd. Dat wil zeggen dat het geen bedrijfsregels kan verwerken of dingen kan doen die niet als “CRUD” kunnen worden beschouwd. Bedrijfslogica, zoals het registreren van een nieuw account, het inloggen van een gebruiker of het aanvragen van een nieuw wachtwoord, maken geen deel uit van JSON:API. Veel hiervan wordt al door Drupal core geleverd.
Hieronder volgt een niet-uitputtende lijst met veelvoorkomende behoeften en oplossingen.


Hernoemen en uitschakelen van resources en velden is nu onderdeel van core.
Wanneer je resource-eigenschappen zoals het API-pad, het aantal resources of standaardwaarden voor includes wilt aanpassen, of je een interface nodig hebt om velden of resources uit te schakelen, gebruik dan JSON:API Extras.


De JSON:API-module is ontworpen om het datamodel dat in Drupal is gedefinieerd met Drupal’s Entity API, Field API en Typed Data API, via een API die voldoet aan de JSON:API-specificatie te exposen, zodat interactie met de door Drupal beheerde data (entiteiten) wordt gefaciliteerd.
Daarbij respecteert het alle beveiligingsmaatregelen van Drupal voor die data:
