Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:rest

ReST-API (Programmierschnittstelle)

Bei einer ReST-API müssen Client und Server zustandslos miteinander kommunizieren. Das heißt, bei jeder innerhalb einer Kommunikation weitergehenden Serveranfrage müssen vom Client alle relevanten Daten mitgesendet werden, da der Server auf keinen aktuellen Zustand zurückgreifen kann.

Die Kommunikation erfolgt in den meisten Fällen in Echtzeit via http bzw. https-Anfragen und benutzt werden die folgenden HTTP-Methoden:

  • GET
  • POST
  • PUT/PATCH
  • DELETE

ReST bezeichnet also die Art der Kommunikation zwischen zwei System über HTTP bzw. HTTPS, ist selbst jedoch kein Protokoll und stellt auch keinen Standard dar.


Das Dateiformat

Die zu übertragenden Daten werden im Regelfall im Datenformat JSON oder XML übertragen, wobei JSON die bessere Wahl ist, weil hier weit weniger Overhead erzeugt wird.

Bei dem folgenden kleinen Beispiel werden, bei gleichem Ergebnis, 1/3 weniger Daten übertragen, wenn das Dateiformat JSON verwendet wird:

Dateiformat XML (Anzahl Zeichen mit Leerzeichen: 360)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<kundenliste>
	<kunde>
		<kundennummer>12345</kundennummer>
		<kundenvorname>Max</kundenvorname>
		<kundennachname>Mustermann</kundennachname>        
	</kunde>
	<kunde>
		<kundennummer>67890</kundennummer>
		<kundenvorname>Erika</kundenvorname>
		<kundennachname>Mustermann</kundennachname>
	</kunde>
</kundenliste>

Hinweis: Zum Bearbeiten von XML-Dateien kann die PHP-Erweiterung SimpleXML verwendet werden.

Dateiformat JSON (Anzahl Zeichen mit Leerzeichen: 236)

kundenliste.json
{
  "kundenliste": [
    {
      "kundennummer": "12345",
      "kundenvorname": "Max",
      "kundennachname": "Mustermann"
    },
    {
      "kundennummer": "67890",
      "kundenvorname": "Erika",
      "kundennachname": "Mustermann"
    }
  ]
}

Weiterverarbeitung der JSON-Daten in PHP

$json = file_get_contents( 'kundenliste.json' );
$kundenliste = json_decode( $json );

Beispiele

In den folgenden Beispielen wird das Dateiformat JSON benutzt. Zur Übertragung der Daten über ein HTTP bzw. HTTPS-Protokoll wird hier das Open Source Kommandozeilentool cURL verwendet, welches als Bibliothek in PHP installiert werden kann.

php/rest.txt · Zuletzt geändert: 2021/11/29 11:39 von webproducer