Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
rest [2023/12/06 08:16] root angelegt |
rest [2023/12/08 12:34] (aktuell) root |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Grundsätze ====== | ||
+ | |||
* Nach Möglichkeit HTTP-Methoden für Verben/ | * Nach Möglichkeit HTTP-Methoden für Verben/ | ||
* PUT -> Lege eine Resource mit einem bestimmten Namen an | * PUT -> Lege eine Resource mit einem bestimmten Namen an | ||
Zeile 6: | Zeile 8: | ||
* PATCH -> Teilupdate einer Resource (im Gegensatz zu PUT was eine Resource komplett ersetzt) | * PATCH -> Teilupdate einer Resource (im Gegensatz zu PUT was eine Resource komplett ersetzt) | ||
* wenn nicht möglich (zum Beispiel bei Suchen) möglichst Substantiv und dann URL-Parameter benutzen -> GET http: | * wenn nicht möglich (zum Beispiel bei Suchen) möglichst Substantiv und dann URL-Parameter benutzen -> GET http: | ||
+ | |||
+ | |||
+ | |||
+ | ====== Begriffe ====== | ||
+ | |||
+ | ===== Idempotent ===== | ||
+ | |||
+ | * Requests die immer zum gleichen Ergebnis führen/die reproduzierbare Ergebnisse generieren | ||
+ | * diese Requests können gefahrlos mehrfach hintereinander ausgeführt werden, ohne das sich das Ergebnis ändert | ||
+ | * PUT -> da es eine konkrete Resource komplett ersetzt führt das mehrfache ausführen des gleichen PUT-Requests (mit den gleichen Daten) immmer dazu das die gleiche Resource mit den gleichen Daten ersetzt wird | ||
+ | * POST -> da es eine Operation gegen ein unbestimmtes Objekt ist und ggf. zum Beispiel zum wiederholten Anlegen des gleichen Objektes führt wenn mehrfach ausgeführt ist nicht idempotent | ||
+ | |||
+ | |||
+ | ===== Safe ===== | ||
+ | |||
+ | * Requests die nicht zu Veränderungen einer Resource führen (sollten) | ||
+ | * GET -> gibt eine Representation einer Resource zurück, verändert sie aber nicht | ||
+ | * PUT -> verändert eine Resource, wäre also nicht Safe |