Welcher Webentwickler hat nicht schon von „RESTful“ gehört oder in einer Anforderung für eine Schnittstelle (API) gelesen? Aber was genau heißt das jetzt und wie sieht so eine API ganz konkret aus? Genau darum wird es in diesem Beitrag gehen – dazu gibt es natürlich ein Beispiel.
Inhalt
- Was heißt REST überhaupt?
- Anforderungen an unsere REST API
- Endpunkte, URL-Schema, JSON
- REST Operationen
- Fehlerbehandlung
- API Sicherheit
- Ausblick
Programmcode zum mitmachen
Den Code, den wir in diesem Beispiel aufbauen werden, findet ihr hier:
https://github.com/spoehner/rest-api-example
Fühlt euch frei ihn zu kopieren und an eure Bedürfnisse anzupassen.
Was heißt REST überhaupt?
Ausgeschrieben steht REST für „Representational State Transfer“ und bedeutet, dass ein Dienst eindeutig adressierbare Ressourcen, zustandslos anbietet. Der Webservice, der den Link zu meinem Logo bearbeitet ist also bereits RESTful. Egal wie oft ihr die Adresse aufruft, es kommt immer der selbe Inhalt. Und da sich der Server nicht merkt wie oft oder wer das Logo abruft, ist es zustandslos.
Aber: Sobald die Webseite dynamische Inhalte ausgibt – wie etwa die Tutorials-Kategorie – widerspricht sie dem Prinzip der eindeutigen Adressierbarkeit. Sobald ein neues Tutorial erscheint, ändert sich der Inhalt.
Zusätzlich zu den beiden Kriterien bietet eine Schnittstelle noch standardisierte Operationen an – häufig zusammengefasst als CRUD. Diese sind das Erstellen (Create), Abfragen (Read), Ändern (Update) und Löschen (Delete) von Einträgen. Diese werden wir hier alle beleuchten.