Representational State Transfer ist ein Architekturstil, der im Jahr 2000 von Roy Fielding für die Entwicklung gekoppelter Anwendungen über HTTP entwickelt wurde und häufig in der API-Entwicklung zum Einsatz kommt. Damit ein Dienst als RESTful bezeichnet werden kann, darf er diese Einschränkungen nicht verletzen.
Entwickler bevorzugen REST als Alternative zu SOAP, da hierfür nicht viel Code geschrieben werden muss, um einfache Aufgaben zu erledigen – im Gegensatz zu SOAP, bei dem man jedes Mal die erforderliche XML-Struktur erstellen muss. Ein RESTful-Webdienst verfolgt einen anderen Ansatz. Er behandelt Informationen als Ressource, die durch eine eindeutige URL repräsentiert wird. Wenn Sie also eine bestimmte Ressource anfordern möchten, müssen Sie deren URL unter Verwendung von HTTP-Methoden wie GET, POST, PUT, HEAD, DELETE, PATCH und OPTIONS angeben. Mehr über diese Methoden erfahren Sie hier! Manchmal müssen Sie möglicherweise zusätzliche Daten zusammen mit der URL senden, um das Gewünschte zu erhalten, beispielsweise einen Zugriffsschlüssel.
Im Gegensatz zu SOAP ist REST nicht darauf beschränkt, die Antwort im XML-Format bereitzustellen. Du kannst die Informationen in verschiedenen Formaten wie JSON, XML, CSV, Klartext und HTML erhalten, die je nach der Sprache, die du für deine Anwendung verwendest, leichter zu parsen sind.
Hier ist ein Vergleich zwischen JSON und XML:
Man hört oft, wie Entwickler über die Funktionen verschiedener APIs sprechen, aber es gibt noch einen weiteren wichtigen, weniger diskutierten Aspekt: die Dokumentation. Ohne das darin enthaltene Wissen könnte eine API genauso gut aus einer Ansammlung von Hieroglyphen bestehen.