20.1. Schlüsselkonzepte der REST-API

Die REST-API führt neue Begrifflichkeit ein. Diese sind:

  1. Routen und Endpunkte
  2. Schema
  3. Requests (Anfragen)
  4. Responses (Antworten)
  5. Controller-Klassen

Im folgenden werde dich die englischen Begriffe „Requests“ und „Response“ weiter verwenden, da sie letztlich auch im Code vorkommen und es später leichter wird, diese Konzepte zu verstehen.

1) Routen und Endpunkte

Eine Route ist nichts anderes als eine URL die über verschiedene HTTP-Methoden aufgerufen werden kann. Gibt man die URL https://Ihre-website.com/wp-json/ im Browser ein, erhält man sofort eine Übersicht über alle registrierten Routen und deren Endpunkte (siehe Beispiel unten).

Nehmen wir die Route http://test.local/wp-json/wp/v2/posts/(?P<id>[\\d]+). Sie hat fünf Endpunkte:

  • GET http://test.local/wp-json/wp/v2/posts/(?P<id>[\\d]+)
  • POST http://test.local/wp-json/wp/v2/posts/(?P<id>[\\d]+)
  • PUT http://test.local/wp-json/wp/v2/posts/(?P<id>[\\d]+)
  • PATCH http://test.local/wp-json/wp/v2/posts/(?P<id>[\\d]+) und
  • DELETE http://test.local/wp-json/wp/v2/posts/(?P<id>[\\d]+)

Wie man erkennen kann, lassen sich über die Endpunkte unterschiedliche Operationen durchführen:

  • GET: Lesen eines einzelnen Posts
  • POST, PUT, PATCH: Erstellen/Editieren eines einzelnen Posts
  • DELETE: Löschen eines Posts

2) Schema

Wie Sie im Beispiel gleich sehen werden, listet WordPress alle Parameter auf, die

  • für Eingaben und
  • für Ausgaben

genutzt werden können. Diese Auflistung wird allgemein als „Schema“ bezeichnet. Dies dient zum einen der Sicherheit aber auch der Nuzerfreundlichkeit.

3) Request

Ein „Request“ bedeutet „Anfrage“. Intern ist die Klasse WP_REST_Request für den Empfang von Daten für die aktuelle Abfrage zuständig. Für jede Anfrage entsteht ein neues Objekt der Klasse und wird auch an die entsprechende Controller-Klasse weitergegeben, die man für eigene Zwecke registriert.

4) Response

„Response“ bedeutete „Antwort“. Alles, was man von der REST-API zurück erhält sind Daten im JSON-Format. Wie diese Antwort aussieht, hängt vom Endpunkt und dessen Schema ab.

5) Controller-Klassen

Die Controller-Klassen bringen letztlich alle Teile der REST-API zusammen. Die Anfrage (Request), die Verarbeitung, die Ausgabe (Response), das Anlegen von neuen Endpunkten und deren Schemata.

Beispiel: Endpunkte lesen lernen

Schauen wir uns oben genannten Endpunkt genauer an. Dazu nutzen ich das Tool Postman. Alternativ funktioniert auch Insomnia oder jedes andere Tool, dass HTTP-Abfragen senden und empfangen kann.

You’re not allowed to see this content. Please log in first.