Endpunkte, URL-Schema, JSON
Wir wollen die Kriterien für REST erfüllen, benötigen also eine eindeutige Adressierbarkeit. Dabei hat sich ein URL-Schema wie dieses bewährt:
1 |
https://api.example.com/v1/user |
Generell sollte die Kommunikation über HTTPS geführt werden um ein gewisses Maß an Datensicherheit zu gewährleisten.
Die Versionsnummer (v1
) wird spätestens ab Version 2 wichtig, damit bereits vorhandene Installationen nicht über Nacht zerstört werden. Es dauert erfahrungsgemäß einige Zeit, bis alle Nutzer der API auf ein neues System umstellen. Daher sollte bereits von Anfang an die Möglichkeit der Versionierung berücksichtigt werden.
Der letzte Teil schließlich ist der gewünschte Endpunkt. Die Benennung ist frei wählbar, sollte aber die darüber ausführbaren Aktionen erahnen lassen – hier wollen wir also Daten eines Nutzers abfragen oder ändern.
Die Kommunikation mit der API muss in einem bestimmten Datenformat erfolgen. In der Praxis ist das derzeit meist JSON – aber auch XML, CSV oder andere Formate können verwendet werden. Es müssen nur beide Seiten wissen welches. Bietet eine API verschiedene Formate, kann der Client die gewünschte Variante z. B. per GET-Parameter bestimmen.
1 |
https://api.example.com/v1/user?type=json |
REST erfordert nicht, dass immer alle Endpunkte auch alle CRUD Operationen unterstützen. Der Endpunkt für den Portalstatus wird sicherlich nur eine Leseoption anbieten.