Sobes.tech
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.