REST-API einfach erklärt

In diesem Artikel erkläre ich auf anschauliche Weise die 5 Grundsätze der REST-API. Diese API ist innerhalb der Webentwicklung ein sehr verbreitetes Programmierparadigma.

REST (Representational State Transfere) ist ein Programmierparadigma für Webseiten, welches von Thomas Fielding in seiner Dis. 2000 entwickelt wurde. Es basiert auf 5 Eigenschaften, welche zur Erreichung der REST-Konformität (Maturity Level) in der verwendeten Programmiersprache implementiert werden muss. Es gibt daher bereits unterschiedliche REST-APIs der verschiedenen Hersteller, welche die Konformität erfüllen.

5 Eigenschaften von REST:

Adressierbarkeit:

Die Ressourcen und Anfragen sind über eine eindeutige URI (uniform resource identifier) permanent erreichbar (i.S.v. Permalinks). Die Anfragen nach dem Schema CRUD (Create, Read, Update und Delete) werden über die URI gesteuert.Bsp.: Auszug aus des Kommandozeilenwerkzeugs curl

curl -d „zeige (GET) alle Kunden“ http://localhost/customer/

curl -d „zeige (GET) die Details des Kunden mit der ID=12“ http://localhost/customer/12/

curl -d „zeige (GET) alle Bestellungen dieses Kunden“ http://localhost/customer/12/orders

Repräsentation:

Je nachdem was der Client anfordert, wird der Datenbankeintrag in der gewünschten Form ausgeliefert (z.B. HTML, XML, JSON).

Zustandslosigkeit:

Alle Anfragen sind in sich geschlossen, d.h. der Server benötigt keine Infos über einen vorherigen Zustand. Es werden alle benötigten Informationen in der Anfrage übertragen.

in REST werden einheitliche Operationen verwendet:

Die Webschnittstelle (HTTP-Protokoll) wird über 8 standardisierte Operationen, sog. Verben , gebildet. Diese wird von jedem Client standardmäßig unterstützt. Dies wichtigsten sind im Folgenden aufgeführt:

  1. GET: Analogie zum Auto = Autokauf; als sicher und idempotent einstufte Operation, da keine Daten auf dem Server verändert werden
  2. POST: Analogie zum Auto = Auto bauen, nicht-idempotent → Anfrage des Browsers, wenn neue Ressource angelegt werden soll
  3. PUT: Analogie zum Auto = Auto ersetzen, idempotent
  4. Delete: Analogie zum Auto = Auto verkaufen, idempotent

Idempotenz bedeutet, dass eine erneute Anfrage zu keiner weiteren Veränderung führt. Ist die Kommunikation nicht-idempotent (z.B. beim Onlinebanking) ist eine Redundanzerkennung erforderlich, da sonst bei einem wiederholten Senden der Zustand verändert wird (im Beispiel: doppelte Abbuchung vom Konto).

Verwendung von Hypermedia:

Hyperlinks werden für die Navigation verwendet

Quellen und nützliche Informationen:

Schreibe einen Kommentar

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