Sobes.tech
Middle

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 — ішінара жаңарту үшін пайдаланылады.