Junior — Middle
Selgitage HTTP PUT ja PATCH meetodite erinevusi ressursside uuendamisel.
sobes.tech AI
Vastus AI-lt
Peamised erinevused HTTP PUT ja PATCH meetodite vahel ressursside uuendamisel:
- PUT — kasutatakse kogu ressursi täielikuks uuendamiseks. Klient saadab kogu ressursi esinduse ning server asendab olemasoleva ressursi selle uuega.
- PATCH — kasutatakse osalise ressursi uuendamiseks. Klient saadab ainult need väljad, mida soovib muuta, ning server uuendab ainult neid, jättes ülejäänud muutmata.
Näide:
Kui teil on kasutaja objekt väljadega name ja email:
- PUT-päringuga peate saatma mõlemad väljad, vastasel juhul eemaldatakse või lähtestatakse puuduvad väljad.
- PATCH-päringuga saate saata ainult
email, ning server uuendab ainult seda.
C# Web API meetodid võivad välja näha sellised:
[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
// Kasutaja täielik uuendamine
}
[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
// Kasutaja osaline uuendamine
}
Seega, PUT on idempotentne meetod täielikuks asendamiseks, PATCH osalisteks muudatusteks.