Sobes.tech
Middle

Тарзи фарқ кардани усулҳои PUT ва PATCH чист?

sobes.tech AI

Ҷавоб аз AI

Методҳои HTTP PUT ва PATCH барои навсозии захираҳо истифода мешаванд, аммо дар семантика ва ҳадди навсозӣ фарқ мекунанд:

  • PUT — як усули идемпотентӣ аст, ки тамоми захираро иваз мекунад. Ҳангоми истифодаи PUT, муштарӣ намояндагии пурраи захираро мефиристад ва сервер захираи мавҷударо бо ин ҳолати нав иваз мекунад. Агар захира вуҷуд надошта бошад, метавонад сохта шавад.

  • PATCH — барои навсозии қисмании захира истифода мешавад. Муштарӣ танҳо он майдонҳо ё тағиротҳоро мефиристад, ки бояд татбиқ шаванд, ва сервер захираро қисман навсозӣ мекунад, бидуни таъсир расонидан ба майдонҳои дигар.

Масалан:

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

Ҳамаи захираро бо объект нав иваз мекунад.

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

Фақат майдони age нав мекунад, номи дигарро тағир намедиҳад.

Аз ин рӯ, PUT барои ивазкунии пурра, PATCH барои навсозии қисманӣ истифода мешавад.