REST (Representational State Transfer) ist ein Architekturstil für das Design vernetzter Web-API-Dienste über HTTP.
HTTP-Verben & Semantik
| Methode | Zielaktion | Sicher | Idempotent |
|---|---|---|---|
GET |
Ressourcendarstellung abrufen | Ja | Ja |
POST |
Neue untergeordnete Ressource erstellen | Nein | Nein |
PUT |
Gesamte Ressourcendarstellung ersetzen | Nein | Ja |
PATCH |
Ressourceneigenschaften partiell aktualisieren | Nein | Nein |
DELETE |
Ressource löschen | Nein | Ja |
HEAD |
Header ohne Antwortkörper abrufen | Ja | Ja |
OPTIONS |
Unterstützte HTTP-Methoden eines Endpunkts abfragen | Ja | Ja |
Häufige HTTP-Antwort-Statuscodes
Erfolg (2xx)
200 OK: Anfrage erfolgreich (Antwortkörper enthält Darstellung).201 Created: Ressource erfolgreich erstellt (Location-Header gibt URI an).202 Accepted: Anfrage zur asynchronen Verarbeitung angenommen.204 No Content: Aktion erfolgreich, kein Antwortkörper (üblich beiDELETE).
Client-Fehler (4xx)
400 Bad Request: Ungültige Syntax, fehlerhafte Parameter oder Validierungsfehler.401 Unauthorized: Authentifizierung fehlt oder ist ungültig.403 Forbidden: Authentifizierter Benutzer besitzt keine Berechtigung für die Ressource.404 Not Found: Ressourcen-URI existiert nicht.409 Conflict: Anfrage steht im Konflikt mit dem aktuellen Ressourcenzustand (z. B. doppelter eindeutiger Schlüssel).422 Unprocessable Entity: Wohlgeformte Anfrage scheiterte an semantischer Domänenvalidierung.429 Too Many Requests: Ratenbegrenzung (Rate Limit) überschritten.
Server-Fehler (5xx)
500 Internal Server Error: Allgemeiner unbehandelter serverseitiger Fehler.502 Bad Gateway: Upstream-Server lieferte ungültige Antwort zurück.503 Service Unavailable: Server überlastet oder im Wartungsmodus.
Standardisierter JSON-Fehlerumschlag
{
"error": {
"code": "VALIDATION_ERROR",
"message": "The email address provided is already registered.",
"details": [
{
"field": "email",
"issue": "unique_constraint_violated"
}
]
}
}