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é.