Sobes.tech
Junior — Middle

Leg uit wat de verschillen zijn tussen de HTTP PUT- en PATCH-methoden bij het bijwerken van bronnen.

sobes.tech AI

Antwoord van AI

De belangrijkste verschillen tussen de HTTP-methoden PUT en PATCH bij het bijwerken van resources:

  • PUT — wordt gebruikt voor een volledige update van de resource. De client stuurt een volledige representatie van de resource, en de server vervangt de bestaande resource door deze nieuwe.
  • PATCH — wordt gebruikt voor een gedeeltelijke update van de resource. De client stuurt alleen de velden die gewijzigd moeten worden, en de server werkt alleen die bij, terwijl de andere ongewijzigd blijven.

Voorbeeld:

Als je een gebruikersobject hebt met de velden name en email:

  • Bij een PUT-verzoek moet je beide velden sturen, anders worden de ontbrekende verwijderd of gereset.
  • Bij een PATCH-verzoek kun je alleen email sturen, en de server werkt alleen dat bij.

In C# Web API kunnen de methoden er zo uitzien:

[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
    // Volledige update van de gebruiker
}

[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
    // Gedeeltelijke update van de gebruiker
}

Dus, PUT is een idempotente methode voor volledige vervanging, PATCH voor gedeeltelijke wijzigingen.