REST verwendet Standard-HTTP-Methoden als die Verben, die auf Ressourcen wirken. Die gängige Abbildung auf CRUD (Create, Read, Update, Delete) ist:
REST verwendet Standard-HTTP-Methoden als die Verben, die auf Ressourcen wirken. Die gängige Abbildung auf CRUD (Create, Read, Update, Delete) ist:
| CRUD | Methode | Typische Verwendung |
|---|
| Create | POST | Eine neue Ressource zu einer Collection hinzufügen |
| Read | GET | Eine Ressource oder Liste abrufen |
| Update (vollständig) | PUT | Eine Ressource vollständig ersetzen |
| Update (partiell) | PATCH | Einige Felder ändern |
| Delete | DELETE | Eine Ressource entfernen |
POST /users HTTP/1.1
Content-Type: application/json
{ "name": "Ann", "email": "[email protected]" }
HTTP/1.1 201 Created
Location: /users/42
{ "id": 42, "name": "Ann", "email": "[email protected]" }
PUT /users/42 sendet die gesamte Repräsentation und ersetzt sie; PATCH /users/42 sendet nur die zu ändernden Felder (z. B. { "email": "[email protected]" }).
Das sind zwei verschiedene Eigenschaften:
GET, HEAD, OPTIONS sind safe.GET, PUT, DELETE, HEAD sind idempotent.Method Safe? Idempotent?
GET yes yes
HEAD yes yes
PUT no yes (replacing with the same body twice = same result)
DELETE no yes (deleting twice = still deleted)
PATCH no no* (depends on the patch; not guaranteed)
POST no no (posting twice usually creates two resources)
Interviewer fragen das, um zu sehen, ob du die HTTP-Semantik gut genug verstehst, um zuverlässige APIs zu bauen. Die Safe-/Idempotent-Unterscheidung ist nicht akademisch: sie bestimmt direkt, was Clients, Proxies und CDNs tun dürfen. Safe-Methoden können frei gecacht und vorabgeholt (prefetched) werden; idempotente Methoden können nach einem Netzwerk-Timeout automatisch erneut versucht werden, ohne das Risiko doppelter Seiteneffekte — weshalb ein Client ein PUT oder DELETE gefahrlos wiederholen kann, aber bei einem POST vorsichtig sein muss (es könnte zwei Orders anlegen). Der klassische Fehler ist, GET zum Auslösen von Seiteneffekten zu verwenden (z. B. GET /users/42/delete), was Caching bricht und Crawler versehentlich Daten mutieren lässt. Die richtige Methode zu wählen — und ihren Safe-/Idempotenz-Vertrag zu respektieren — ist das, was eine API vorhersehbar und sicher macht, um Tooling darum herum zu bauen.
Eine Sammlung von IT-Interviewfragen mit ausführlichen Antworten — vom Junior bis zum Senior.
Spenden