
Paginierung kann ein trügerisch komplexes Thema sein. Es ist leicht, in Fallen zu tappen und Best Practices nicht zu befolgen. Diese Seite wird Ihnen helfen, die Paginierung „richtig“ zu machen. Wenn Sie diese Seite lesen und verstehen, wird Ihr Client robuster und zukunftssicherer sein und Ihnen das Leben langfristig erleichtern.
Wenn Sie nur eine Sache aus diesem Leitfaden mitnehmen, dann sollte es sein, dass Sie Ihre eigenen Paginierungs-URLs nicht selbst konstruieren sollten.


JSON:API ermöglicht es, mehrere Ressourcen in einer einzigen Anfrage abzurufen. Diese Routen werden als „Sammlungsrouten“ bezeichnet. Eine Sammlung von Ressourcen kann durch das Senden einer GET-Anfrage an die Basisressourcen-Route abgerufen werden, z.B. GET /jsonapi/node/article
– dabei wird keine UUID angegeben. Standardmäßig werden so alle Ressourcen des angegebenen Typs zurückgegeben.


Das JSON:API-Modul stellt Entitätsrevisionen als Ressourcenversionen zur Verfügung, inspiriert von RFC5829: Link Relation Types for Simple Version Navigation between Web Resources.
Aktuelle Einschränkungen:


JSON:API unterstützt sehr einfache mehrsprachige Funktionalität. Fortgeschrittene Anwendungsfälle werden nicht unterstützt.


Dieser Abschnitt enthält Beispiele und Informationen pro Anfragetyp: GET, POST, PATCH und DELETE
Ăśber die Beispiele
Alle Beispiele sind funktionierende Beispiele, die du entweder im Browser oder in einem JSON-Client (z. B. Postman) ausprobieren kannst. Du benötigst eine Standard-Drupal-Installation, einige Artikel-Nodes und das aktivierte JSON:API-Modul.


Diese Seite zeigt Beispiele fĂĽr verschiedene GET-Anfragen fĂĽr das JSON:API-Modul.
In allen untenstehenden Beispielen sind keine Anfrage-Header erforderlich. Keine Authentifizierung ist notwendig, wenn anonyme Benutzer auf Inhaltsentitäten zugreifen dürfen. Für Konfigurationsentitäten wie Menüs siehe die letzten Abschnitte.
Beachte, dass in allen Fällen, in denen eine id benötigt wird, immer die UUID der Entität, nicht die numerische ID verwendet wird.


Diese Seite zeigt Beispiele fĂĽr verschiedene POST-Anfragen fĂĽr das JSON:API-Modul.
POST-Anfragen werden verwendet, um neue Ressourcen zu erstellen. Wenn du Ressourcen ändern möchtest, musst du stattdessen PATCH verwenden.


Diese Seite zeigt Beispiele fĂĽr PATCH-Anfragen fĂĽr das JSON:API-Modul.
Update-Operation aktivieren
Gehe zu /admin/config/services/jsonapi
und aktiviere die Option „Alle JSON:API-Operationen zum Erstellen, Lesen, Aktualisieren und Löschen akzeptieren“.


Diese Seite zeigt Beispiele fĂĽr DELETE-Anfragen fĂĽr das JSON:API-Modul.
Löschen-Operation aktivieren
Gehe zu /admin/config/services/jsonapi
und aktiviere die Option „Alle JSON:API-Operationen zum Erstellen, Lesen, Aktualisieren und Löschen akzeptieren“.


Manche Websites möchten bestimmte JSON:API-Ressourcentypen oder Felder nicht exponieren oder Felder umbenennen, um eine sauberere Schnittstelle bereitzustellen.
Um diese Anpassungen zu ermöglichen, löst JSON:API ein ResourceTypeBuildEvent
-Objekt mit dem Ereignisnamen ResourceTypeBuildEvents::BUILD
aus. Siehe Subscribe to and dispatch events fĂĽr weitere Informationen zur Nutzung von Events.
