Sobes.tech
Junior — Middle

REST API контекстинде HTTP PUT жана PATCH ыкмаларынын айырмалуулугун түшүндүрө аласызбы?

sobes.tech AI

AIден жооп

HTTP PUT жана PATCH ыкмалары REST APIде ресурстарды жаңылоо үчүн колдонулат, бирок алардын семантикасы жана жүрүм-туруму боюнча айырмаланат:

  • PUT — бул идемпотент ыкма, ал сервердеги бүт ресурсты жаңы көрсөтмө менен алмаштырат, ал суранычтын денесинде жөнөтүлөт. Эгер ресурс жок болсо, аны түзүүгө болот. Бирдей маалыматтар менен кайталанган суранычтар бирдей натыйжа берет.

  • PATCH — ресурстун бөлүктүү жаңыртуусу үчүн колдонулат. Суранычтын денесинде гана өзгөртүлүшү керек болгон талаалар жөнөтүлөт, калгандары өзгөртүлбөйт. PATCH обязательным эмес, бирок болушу мүмкүн.

Мисал:

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

123 колдонуучунун бүт ресурсу жаңы объект менен алмаштырылат, анда аты жана электрондук почта бар.

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

Тек электрондук почта талаасы жаңыртылат, аты өзгөрбөйт.