14. März 2016

JSON, API, REST: das steckt hinter den Abkürzungen WordPress REST API: Datenabfrage per HTTP

   3 Kommentare

Ein Beitrag von Katharina

Share on Facebook4Tweet about this on Twitter7Share on Google+0Share on LinkedIn0Email this to someone

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

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?

Share on Facebook4Tweet about this on Twitter7Share on Google+0Share on LinkedIn0Email this to someone
Katharina

Katharina

Beim Webseiten basteln vergesse ich schnell mal die Zeit. An WordPress gefällt mir besonders die vielfältige Welt der Plugins und Themes, die zum Ausprobieren einlädt.
Katharina

Du willst up-to-date bleiben?

Trage dich jetzt in unseren kostenlosen Newsletter ein, um stets die aktuellsten Neuigkeiten rund um Wordpress zu erhalten.

Wir geben deine Daten nicht weiter! Wir hassen Spam genauso wie du!

3 Kommentare

Reaktionen auf diesen Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.