REST ist ein Architekturstil für Web-APIs. REST steht für Representational State Transfer.

Der Name klingt komplizierter, als das Thema am Anfang wirklich ist. Für Einsteiger reicht erst einmal dieses Verständnis:
REST beschreibt eine Art, wie Systeme über das Web sauber und nachvollziehbar miteinander kommunizieren.
Wenn Entwickler von einer REST API sprechen, meinen sie meistens eine API, die über HTTP erreichbar ist und klar definierte Regeln bei Requests und Responses nutzt.
Warum ist REST so wichtig?
REST ist in der Praxis extrem verbreitet.
Sehr viele moderne Anwendungen nutzen REST APIs, zum Beispiel:
- Webanwendungen
- Mobile Apps
- Java Backends
- Microservices
- Cloud-Dienste
- Integrationen zwischen verschiedenen Systemen
Wenn ein Frontend Daten aus einem Backend lädt, passiert das oft über REST. Wenn ein Java-Programm mit einem externen Dienst spricht, passiert das sehr häufig ebenfalls über REST.
API und REST, was ist der Unterschied?
Das ist einer der wichtigsten Punkte.
- API ist der Oberbegriff
- REST ist eine bestimmte Art von API
Das bedeutet:
- jede REST API ist eine API
- aber nicht jede API ist eine REST API
Wenn dir der API-Begriff noch nicht ganz klar ist, passt vorher oder parallel der Artikel Was ist eine API?.
Die Grundidee hinter REST
REST nutzt in der Regel das HTTP-Protokoll, also genau das Protokoll, das auch dein Browser beim Laden von Websites verwendet.
Statt aber HTML-Seiten zurückzugeben, liefert eine REST API oft strukturierte Daten zurück, meistens im JSON-Format.
Die Grundidee ist:
- ein Client stellt eine Anfrage
- die Anfrage geht an eine URL
- die URL steht für eine Ressource
- der Server antwortet mit Daten oder einer Bestätigung
Was ist eine Ressource?
In REST dreht sich vieles um sogenannte Ressourcen.
Eine Ressource kann zum Beispiel sein:
- ein Benutzer
- ein Produkt
- eine Bestellung
- ein Blogbeitrag
- ein Rezept
Beispiele für Ressourcen-URLs:
/users/users/5/products/orders/42
Die URL zeigt also oft direkt, auf welches Objekt oder welche Sammlung zugegriffen wird.
Die wichtigsten HTTP-Methoden
REST APIs arbeiten oft mit bestimmten HTTP-Methoden. Die wichtigsten für Einsteiger sind:
GET
Mit GET werden Daten gelesen.
Beispiel:
GET /usersGET /users/5
Bedeutung:
- gib mir alle Benutzer
- gib mir den Benutzer mit der ID 5
POST
Mit POST werden meist neue Daten angelegt.
Beispiel:
POST /users
Bedeutung:
- lege einen neuen Benutzer an
PUT
Mit PUT werden bestehende Daten oft komplett ersetzt oder aktualisiert.
Beispiel:
PUT /users/5
Bedeutung:
- aktualisiere den Benutzer mit der ID 5
DELETE
Mit DELETE werden Daten gelöscht.
Beispiel:
DELETE /users/5
Bedeutung:
- lösche den Benutzer mit der ID 5
Ein einfaches REST-Beispiel
Stell dir einen kleinen Online-Shop vor.
Dann könnten diese Aufrufe sinnvoll sein:
GET /products-> alle Produkte ladenGET /products/7-> ein Produkt ladenPOST /products-> neues Produkt anlegenPUT /products/7-> Produkt aktualisierenDELETE /products/7-> Produkt löschen
Das ist das Grundmuster, das du bei sehr vielen REST APIs wiederfindest.
Request und Response bei REST
REST basiert auf dem gleichen Grundprinzip wie jede andere Web-API:
- der Client schickt einen Request
- der Server liefert eine Response zurück
Ein Request enthält oft:
- URL
- HTTP-Methode
- Header
- optional Daten im Body
Eine Response enthält oft:
- Statuscode
- Header
- Daten im Body
Wichtige Statuscodes bei REST APIs
Ein paar Statuscodes solltest du früh kennen:
200-> Anfrage erfolgreich201-> neues Objekt erfolgreich erstellt400-> fehlerhafte Anfrage401-> nicht eingeloggt oder nicht autorisiert404-> Ressource nicht gefunden500-> Fehler auf dem Server
Diese Codes helfen dir dabei, Responses besser zu verstehen.
REST-Beispiel in Java
Hier ein kleines Java-Beispiel mit HttpClient. Der Code ruft eine öffentliche REST API auf und lädt einen Beispiel-Post.
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class RestExample {
public static void main(String[] args) throws IOException, InterruptedException {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://jsonplaceholder.typicode.com/posts/1"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println("Statuscode: " + response.statusCode());
System.out.println("Body: " + response.body());
}
}Was zeigt dieses Beispiel?
Das Beispiel zeigt:
- Java schickt einen
GET-Request - eine REST API antwortet
- die Antwort kommt als JSON zurück
- der Statuscode zeigt, ob der Aufruf erfolgreich war
Wenn du JSON noch nicht sauber eingeordnet hast, passt dazu direkt der Folgeartikel Was ist JSON?.
Warum ist JSON bei REST so häufig?
REST schreibt nicht zwingend JSON vor.
Trotzdem ist JSON in der Praxis sehr häufig, weil es:
- leicht lesbar ist
- leicht übertragbar ist
- in vielen Programmiersprachen gut verarbeitet werden kann
Deshalb sieht man REST und JSON oft zusammen.
Ist REST immer gleich aufgebaut?
Nein. Nicht jede REST API sieht exakt gleich aus.
Aber viele folgen ähnlichen Mustern:
- klar benannte Ressourcen
- HTTP-Methoden mit klarer Bedeutung
- Statuscodes zur Rückmeldung
- JSON als Datenformat
Typische Missverständnisse
„REST ist einfach nur irgendein API-Aufruf“
Nicht ganz. REST ist ein bestimmter Stil, wie APIs aufgebaut werden.
„GET, POST, PUT und DELETE sind nur technische Details“
Nein. Diese Methoden sind zentral, weil sie die Absicht des Requests ausdrücken.
„REST bedeutet automatisch einfache Entwicklung“
Nicht unbedingt. REST macht vieles strukturierter, aber gute API-Designs brauchen trotzdem saubere Planung.
„REST und JSON sind dasselbe“
Nein. REST ist ein Stil für APIs. JSON ist ein Datenformat.
REST im Alltag eines Java-Entwicklers
REST begegnet dir als Java-Entwickler an vielen Stellen:
- externe APIs aufrufen
- eigene Backends mit Spring Boot bauen
- Frontend und Backend verbinden
- Daten an andere Systeme senden
- Integrationen mit Cloud- oder Enterprise-Systemen umsetzen
Gerade für moderne Backend-Entwicklung ist REST ein Grundthema.
REST, OData und andere API-Stile
REST ist sehr verbreitet, aber nicht die einzige Variante.
Es gibt auch:
- SOAP
- GraphQL
- OData
Gerade OData ist später spannend, wenn es um SAP-nahe oder datengetriebene Systeme geht. Aber vorher solltest du REST sauber verstehen.
Fazit
REST ist ein weit verbreiteter Stil für Web-APIs.
Das Wichtigste für den Einstieg ist:
- Ressourcen über URLs ansprechen
- mit HTTP-Methoden arbeiten
- Daten per Request schicken oder per Response empfangen
- Statuscodes richtig einordnen
Wenn du dieses Grundprinzip verstanden hast, kannst du moderne APIs deutlich besser lesen, nutzen und später auch selbst bauen.
Nächster Schritt
Nach diesem Artikel sind diese Themen sinnvoll:
- Was ist JSON?
- Was ist eine API?
- REST API mit Java nutzen
- erste REST API mit Spring Boot
