WordPress REST API: Datenabfrage per HTTP
Was ist eigentlich eine API, und was hat es mit REST auf sich? Wir erklären die Grundlagen, die hinter der WordPress REST API stecken.
Eigentlich sollte sie bereits mit WordPress 4.1 kommen, seit Version 4.4 ist nun bereits ihre Infrastruktur im WordPress Core vorhanden: die WordPress REST API. Die dazugehörigen Endpunkte sind aktuell noch nicht im Core vorhanden, können allerdings wie bisher über das WordPress REST API Plugin verwendet werden. Aber was ist die WordPress REST API eigentlich? Wir erklären euch, was sich hinter dem Begriff verbirgt.
Die WordPress REST API
Die WordPress REST API erlaubt es, per HTTP die Daten einer WordPress Seite im JSON-Format abzufragen. Das bedeutet, dass Instanzen wie Benutzer, Beiträge, Taxonomien etc. ganz einfach durch die HTTP-Verben HEAD, GET, POST, PUT oder DELETE erstellt, gelesen, bearbeitet oder gelöscht werden können. Für die meisten dieser Anfragen ist natürlich vorher eine Authentifizierung erforderlich.
Was ist eine API?
Die Abkürzung API steht für Application Programming Interface, zu Deutsch Programmierschnittstelle. Mithilfe einer solchen Schnittstelle wird die Kommunikation und Interaktion zwischen zwei Systemen ermöglicht. Ein Softwaresystem stellt also standardisierte Wege zur Verfügung, mit deren Hilfe das zweite Programm mit dem ersten kommunizieren und bestimmte Funktionen nutzen kann.
Um die Struktur der Schnittstelle zu standardisieren, gibt es Protokolle wie SOAP oder REST, die diese Struktur mehr oder weniger strikt vorgeben. Als Dateiformat wird meist XML oder JSON verwendet.
Was ist eine REST API?
REST ist nicht einfach der Name dieser WordPress API, sondern bezeichnet einen Architekturstil, der verschiedene Prinzipien für die Erstellung eines Dienstes vorschreibt. REST steht für Representational State Transfer. Entspricht ein Dienst der REST-Architektur, wird auch von einem RESTful Service gesprochen. Die REST-Architektur basiert auf der Struktur des Webs, abstrahiert also die Maschine-zu-Maschine-Kommunikation des WWW. Dies wird meistens durch das HTTP-Protokoll in Verbindung mit dem Dateiformat JSON umgesetzt. REST basiert außerdem auf Ressourcen statt auf Aktionen, im Fall von WordPress sind diese Ressourcen einzelne Instanzen von Beiträgen, Seiten, Kommentaren usw.
Die sechs Prinzipien von REST
Der REST-Architekturstil ist grundsätzlich sehr flexibel gestaltet, definiert aber sechs Eigenschaften, von denen fünf für einen REST-Service obligatorisch und eine optional sind.
- Client-Server
Ein REST-Dienst besteht grundsätzlich immer aus einer Client-Server-Architektur. Das bedeutet, ein Server stellt einen bestimmen Dienst bereit, welcher bei Bedarf von einem Client angefragt und verwendet werden kann. - Zustandslosigkeit
REST ist ein zustandsloses Protokoll. Das bedeutet, dass jede REST-Nachricht alle nötigen Informationen enthält, damit der Server oder Client die Nachricht verstehen kann. Weder Server noch Client sollen Zustandsinformationen zwischen Nachrichten speichern. Jede Anfrage, die der Client an den Server stellt, beinhaltet also alle Informationen über den Zustand der Anwendung, die für die Verarbeitung der Anfrage notwendig sind. - Caching
Der Dienst soll HTTP-Caching verwenden, also bestimmte Ressourcen zwischenspeichern, um unnötigen Anfragen oder Übertragungen zu vermeiden. - Einheitliche Schnittstelle
Dieses Merkmal unterscheidet REST besonders von anderen Architekturstilen.
Ein REST-Dienst soll also eine Schnittstelle bereitstellen, die einheitliche Methoden für den Zugriff auf alle Ressourcen bietet. - Mehrschichtige Systeme
Ein REST-Service soll aus mehreren Schichten bestehen. Dadurch wird die Architektur insgesamt vereinfacht, die einzelnen Schichten können separat voneinander weiterentwickelt werden, es ist nur eine Schnittstelle notwendig und dahinterliegende Schichten können versteckt bleiben. - Code on Demand (optional)
Dieses Prinzip bedeutet, dass der Server bei Bedarf ausführbaren Code an den Client übertragen kann, beispielsweise JavaScript auf HTML-Seiten.
Das Dateiformat JSON
Die Abkürzung JSON steht für JavaScript Object Notation und bezeichnet ein Format zum Austausch von Daten. Diese werden mithilfe von Schlüssel-Wert-Paaren (name-value-pairs) übertragen, welche auch für Menschen gut lesbar sind. JSON ist unabhängig von Programmiersprachen und kann von zahlreichen Sprachen interpretiert und übersetzt werden. Damit ist es optimal geeignet, um Daten zwischen verschiedenen Programmen auszutauschen.
Habt ihr euch bereits mit der WordPress REST API beschäftigt?
Hallo,
ich habe ein kleines PHP-Script geschrieben, welches über die REST-API Caches füllen kann:
https://wp-loft.de/wordpress-rest-api-server-cache-fuellen/
Grüße,
Martin
Hallo Martin,
das ist ein interessanter Ansatz für die REST API – ich bin mal gespannt, wie sich die API dann in der Praxis schlägt 🙂
[…] WordPress REST API: Datenabfrage per HTTP […]