PUT әдісі мен PATCH әдісінің айырмашылығы неде?
sobes.tech AI
AI-дан жауап
HTTP PUT және PATCH әдістері ресурстарды жаңарту үшін қолданылады, бірақ олардың семантикасы мен жаңарту көлемі бойынша айырмашылығы бар:
-
PUT — бұл идемпотентті әдіс, ол барлық ресурсты толықтай ауыстырады. PUT қолданғанда клиент ресурстың толық көрінісін жібереді, ал сервер бар ресурсты жаңа күйімен ауыстырады. Егер ресурс жоқ болса, ол жасалуы мүмкін.
-
PATCH — ресурсты ішінара жаңарту үшін пайдаланылады. Клиент тек өзгертілген немесе қажет өрістерді жібереді, ал сервер ресурсты ішінара жаңартады, қалған өрістерге әсер етпей.
Мысал:
PUT /users/123
{
"name": "Иван",
"age": 30
}
Бұл 123 идентификаторлы пайдаланушының барлық ресурсын жаңа объектімен ауыстырады.
PATCH /users/123
{
"age": 31
}
Тек жас өрісін жаңартады, есімін өзгеріссіз қалдырады.
Осылайша, PUT — толық ауыстыру үшін, PATCH — ішінара жаңарту үшін пайдаланылады.