Sobes.tech
Junior — Middle

Môžete vysvetliť rozdiely medzi metódami HTTP PUT a PATCH v kontexte REST API?

sobes.tech AI

Odpoveď od AI

Metódy HTTP PUT a PATCH sa používané na aktualizáciu zdrojov v REST API, ale líšia sa v semantike a správaní:

  • PUT — je idempotentná metóda, ktorá nahradí celý zdroj na serveri novou reprezentáciou odoslanou v tele požiadavky. Ak zdroj neexistuje, môže byť vytvorený. Opakovanie rovnakých požiadaviek s rovnakými údajmi bude mať rovnaký výsledok.

  • PATCH — sa používa na čiastočnú aktualizáciu zdroja. V tele požiadavky sa odosielajú iba tie polia, ktoré je potrebné zmeniť, ostatné zostávajú nezmenené. PATCH nemusí byť nevyhnutne idempotentný, ale môže byť.

Príklad:

PUT /users/123
{
  "name": "Иван",
  "email": "ivan@example.com"
}

Nahradí celý zdroj používateľa 123 novým objektom s menom a emailom.

PATCH /users/123
{
  "email": "newemail@example.com"
}

Aktualizuje iba pole email, meno zostane nezmenené.