Sobes.tech
Junior — Middle

Erklären Sie die Unterschiede zwischen den HTTP-Methoden PUT und PATCH bei der Aktualisierung von Ressourcen.

sobes.tech KI

Antwort von AI

Die wichtigsten Unterschiede zwischen den HTTP-Methoden PUT und PATCH bei der Aktualisierung von Ressourcen:

  • PUT — wird für eine vollständige Aktualisierung der Ressource verwendet. Der Client sendet eine vollständige Darstellung der Ressource, und der Server ersetzt die bestehende Ressource durch diese neue.
  • PATCH — wird für eine teilweise Aktualisierung der Ressource verwendet. Der Client sendet nur die Felder, die geändert werden sollen, und der Server aktualisiert nur diese, während die anderen unverändert bleiben.

Beispiel:

Wenn Sie ein Benutzerobjekt mit den Feldern name und email haben:

  • Bei einer PUT-Anfrage müssen beide Felder gesendet werden, andernfalls werden die fehlenden gelöscht oder zurückgesetzt.
  • Bei einer PATCH-Anfrage können Sie nur email senden, und der Server aktualisiert nur dieses Feld.

In C# Web API könnten die Methoden so aussehen:

[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
    // Vollständige Aktualisierung des Benutzers
}

[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
    // Teilaktualisierung des Benutzers
}

Daher ist PUT eine idempotente Methode für den vollständigen Austausch, PATCH für partielle Änderungen.