REST-API
Was ist eine REST-API? Eine Erklärung für Laien.
Eine API ist eine Schnittstelle zwischen zwei Programmen. Damit können diese Programme Daten untereinander austauschen.
REST-APIs arbeiten mit einfachen HTTP-Anfragen (wie sie ein Browser zum Web-Server sendet). Gibt man in einem Browser eine URL in die Adresszeile ein, dann wird eine Verbindung zum Web-Server aufgebaut und eine Anfrage (als Text) gesendet. Der Server antwortet mit einem Text, den dieser an den Browser zurückgibt.
Der Text dieser Anfragen kann unterschiedlich aufgebaut sein, je nach Verwendungszweck. Zur Unterscheidung der unterschiedlichen Anfragen hat man "Methoden" eingeführt. Eine "Methode" ist einfach nur ein Wort, das am Anfang des Textes steht, das dem Server mitteilt, wie der Rest des Textes aufgebaut ist und was der Server damit anfangen soll. Die wichtigsten drei Methoden sind:
- GET: Mit einer GET-Anfrage werden Daten vom Server geholt.
- POST: Mit einer POST-Anfrage werden neue Daten an den Server geschickt.
- DELETE: Mit einer DELETE-Anfrage werden vorhandene Daten vom Server gelöscht.
Es gibt noch ein paar andere Methoden wie zum Beispiel PUT oder PATCH, auf die ich hier nicht eingehen möchte.
Wie oben beschrieben, schickt ein Internet-Browser (zum Beispiel Chrome oder Firefox) GET-Anfragen (=GET-Requests) an den Server. Der Server weiß aufgrund des GET-Schlüsselwortes am Anfang der Nachricht, dass er etwas zurückliefern soll und gibt in den meisten Fällen den Text der gewünschten Internetseite zurück.
Und so funktionieren REST-APIs: Ein Programm schickt an den Web-Server eines anderen Programmes eine Anfrage. Der Web-Server des anderen Programmes antwortet und gibt die gewünschten Daten zurück. Je nachdem, ob man an den Web-Server des anderen Programmes eine GET-, POST- oder DELETE-Anfrage sendet, werden entweder Daten zurückgegeben, gelöscht oder hinzugefügt.
REST-APIs lassen sich leicht mit Programmen wie Hoppscotch, dem Postman REST Client oder dem Kommandozeilenprogrammen Curl testen.
Ein GET-Request mit dem kleinen Programm curl
kann zum Beispiel so aussehen:
curl https://jsonplaceholder.typicode.com/posts
Diese Anfrage an einen Test-Server gibt 100 Beispiel-Posts in einer JSON-Datenstruktur zurück. Du kannst die URL einfach auch in einen Browser eingeben. https://jsonplaceholder.typicode.com/posts
Ein POST-Request mit curl
kann zum Beispiel so aussehen:
curl --request POST --data '{"title": "Hallo", "body": "Hallo Welt", "userId": 1}' https://jsonplaceholder.typicode.com/posts
Diese Anfrage an einen Test-Server simuliert das Erstellen eines neuen Posts. Diese Anfrage kannst du nicht in einen Browser eingeben, da der Browser standardmäßig GET-Requests sendet.
Ich hoffe, dass du jetzt mit dem Begriff "REST-API" mehr anfangen kannst. Detaillierte Informationen findest du auf anderen Seiten im Web.