Was ist der Unterschied zwischen den Methoden PUT und POST? Wie verhalten sie sich bei wiederholter Sendung derselben Anfrage? Was macht PATCH?
sobes.tech KI
Antwort von AI
Die HTTP-Methoden PUT und POST unterscheiden sich in Semantik und Verhalten:
-
PUT — eine idempotente Methode, die verwendet wird, um eine Ressource vollständig unter der angegebenen URL zu aktualisieren. Das erneute Senden derselben PUT-Anfrage ändert das Ergebnis nicht, da die Ressource mit denselben Daten überschrieben wird.
-
POST — eine nicht-idempotente Methode, die üblicherweise zum Erstellen neuer Ressourcen oder zum Ausführen von Aktionen verwendet wird. Das erneute Senden einer POST-Anfrage kann zu Duplikaten führen oder die Operation wiederholen.
-
PATCH — wird für partielle Aktualisierungen der Ressource verwendet, indem nur die geänderten Felder gesendet werden. Im Gegensatz zu PUT, das die gesamte Ressource ersetzt, wendet PATCH Änderungen am bestehenden Objekt an.
Beispiel:
PUT /users/123
{
"name": "Иван",
"age": 30
}
PATCH /users/123
{
"age": 31
}
POST /users
{
"name": "Иван",
"age": 30
}
Das erneute Senden von PUT mit denselben Daten ändert die Ressource nicht, das erneute Senden von POST erstellt einen neuen Benutzer, und das erneute Senden von PATCH aktualisiert das Alter erneut.