Articles

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.
