Sobes.tech
Senior

Фарқи байни усулҳои PUT ва POST чист? Онҳо чӣ гуна рафтор мекунанд вақте ки якхела дархостро такрор мекунанд? PATCH чӣ мекунад?

sobes.tech AI

Ҷавоб аз AI

Методҳои HTTP PUT ва POST дар маъно ва рафтор фарқ мекунанд:

  • PUT — усули идемпотентӣ, барои навсозии пурраи манбаъ дар URL муайян истифода мешавад. Иҷрои дубораи ҳамон дархости PUT натиҷаро тағир намедиҳад, зеро манбаъ бо маълумоти ҳамон навсозӣ мешавад.

  • POST — усули ғайримуқаррарӣ, одатан барои эҷоди манбаъҳои нав ё иҷрои амалҳо истифода мешавад. Иҷрои дубораи дархости POST метавонад ба эҷоди нусхаҳои такрорӣ ё такрори амал оварда расонад.

  • PATCH — барои навсозии қисман манбаъ истифода мешавад, танҳо майдонҳои тағирёфта фиристода мешаванд. Баръакс бо PUT, ки тамоми манбаъро иваз мекунад, PATCH тағиротро ба объекти мавҷуда татбиқ мекунад.

Масалан:

PUT /users/123
{
  "name": "Иван",
  "age": 30
}

PATCH /users/123
{
  "age": 31
}

POST /users
{
  "name": "Иван",
  "age": 30
}

Иҷрои дубораи PUT бо маълумоти ҳамон тағирот манбаъро тағир намедиҳад, иҷрои дубораи POST як корбар нав эҷод мекунад, ва иҷрои дубораи PATCH синну солро боз нав мекунад.