Розніца паміж запытамі PUT і PATCH

У чым асноўная розніца паміж PUT і PATCH запыты, і калі мы павінны выкарыстоўваць адзін над іншым?

PUT і PATCH - гэта дзеясловы HTTP, і абодва яны датычацца абнаўлення рэсурсу.



Асноўная розніца паміж запытамі PUT і PATCH

Асноўнае адрозненне паміж запытамі PUT і PATCH заключаецца ў тым, як сервер апрацоўвае ўкладзены аб'ект, каб змяніць рэсурс, ідэнтыфікаваны запытам-URI.


У PUT Па запыце, укладзены аб'ект лічыцца мадыфікаванай версіяй рэсурсу, які захоўваецца на зыходным серверы, і кліент патрабуе замены захаванай версіі.

Аднак, калі PATCH укладзены аб'ект утрымлівае набор інструкцый, якія апісваюць, як рэдагаваць рэсурс, які пражывае ў цяперашні час на пачатковым серверы, трэба змяніць для атрымання новай версіі.


Акрамя таго, яшчэ адно адрозненне заключаецца ў тым, што калі вы хочаце абнавіць рэсурс з PUT Запыт, вы павінны адправіць поўную карысную нагрузку як запыт, тады як пры PATCH вы адпраўляеце толькі параметры, якія вы хочаце абнавіць.



Звязаныя:

Дапусцім, у нас ёсць рэсурс, які змяшчае імя і прозвішча чалавека.

Калі мы хочам змяніць імя, мы адпраўляем PUT запыт на абнаўленне


{ 'first': 'Michael', 'last': 'Angelo' }

Тут, хоць мы і мяняем толькі першае імя, з PUT Па запыце мы павінны адправіць абодва параметры першым і апошнім. Іншымі словамі, абавязковая адпраўка ўсіх значэнняў зноў, поўная карысная нагрузка.

Калі мы адпраўляем PATCH аднак, мы адпраўляем толькі дадзеныя, якія мы хочам абнавіць. Іншымі словамі, мы адпраўляем толькі імя для абнаўлення, прозвішча адпраўляць не трэба.

Па гэтай прычыне PATCH запыт патрабуе меншай прапускной здольнасці.