LU06g - Was ist eine RESTful API?

Eine RESTful API (Representational State Transfer) ist ein API-Design, das den Prinzipien von REST folgt. REST ist ein Architekturstil für verteilte Systeme und wurde erstmals 2000 von Roy Fielding in seiner Doktorarbeit vorgestellt. RESTful APIs ermöglichen die Interaktion zwischen verschiedenen Softwareanwendungen und Diensten und sind eine der populärsten Methoden für den Aufbau moderner Webdienste.

Grundprinzipien von REST

REST folgt einer Reihe von Grundprinzipien, die den Aufbau und die Interaktion mit APIs leiten:

HTTP-Methoden in RESTful APIs

RESTful APIs verwenden HTTP-Methoden, um CRUD-Operationen (Create, Read, Update, Delete) auf Ressourcen durchzuführen:

Ressourcen und Endpunkte

In RESTful APIs werden Daten als Ressourcen repräsentiert, auf die über URLs zugegriffen werden kann. Jede Ressource sollte durch einen eindeutigen Identifier, meistens eine URL, identifiziert werden.

Beispiel:

Statuscodes

RESTful APIs verwenden HTTP-Statuscodes, um den Erfolg oder Misserfolg einer Operation anzugeben. Einige gebräuchliche Statuscodes sind:

Datenaustauschformate

RESTful APIs können verschiedene Formate für den Datenaustausch verwenden. Das gebräuchlichste und weitverbreitetste Format ist jedoch JSON (JavaScript Object Notation).

JSON

JSON ist ein schlankes Datenformat, das für den Datenaustausch zwischen einem Server und einem Client optimiert ist. Es ist einfach für Menschen zu lesen und zu schreiben und einfach für Maschinen zu analysieren und zu generieren. JSON ist weitgehend sprachneutral und wird von den meisten modernen Programmiersprachen unterstützt.

JSON-Beispiel

Ein einfaches JSON-Beispiel, das einen Einkaufsartikel repräsentiert, könnte so aussehen:

{
  "item_id": 1,
  "item_name": "Apple",
  "quantity": 5
}

In diesem Beispiel enthält das JSON-Objekt drei Schlüssel (item_id, item_name, quantity) und ihre zugehörigen Werte.

JSON und RESTful APIs

In einer RESTful API werden JSON-Objekte häufig als Request- oder Response-Body verwendet. Zum Beispiel könnte ein POST-Request zum Hinzufügen eines neuen Benutzers den JSON-Body verwenden, um die Benutzerdaten zu übermitteln. Ebenso könnte die API-Antwort auf eine GET-Anfrage ein JSON-Objekt oder -Array mit den angeforderten Daten enthalten.


© Kevin Maurizi