Каква е основната разлика между PUT
и PATCH
искания и кога трябва да използваме едното над другото?
PUT и PATCH са HTTP глаголи и и двете се отнасят до актуализиране на ресурс.
Основната разлика между заявките PUT и PATCH е в начина, по който сървърът обработва затворения обект, за да модифицира ресурса, идентифициран от Request-URI.
В PUT
при заявка, затвореният обект се счита за модифицирана версия на ресурса, съхраняван на първоначалния сървър, а клиентът изисква съхранената версия да бъде заменена.
С PATCH
, обаче, затвореният обект съдържа набор от инструкции, описващи как ресурс, който в момента се намира на първоначалния сървър, трябва да бъде модифициран, за да създаде нова версия.
Също така, друга разлика е, че когато искате да актуализирате ресурс с PUT
заявка, трябва да изпратите пълния полезен товар като заявка, докато с PATCH
изпращате само параметрите, които искате да актуализирате.
Свързани:
Да предположим, че имаме ресурс, който съдържа собственото и фамилното име на човек.
Ако искаме да сменим първото име, изпращаме PUT
заявка за актуализация
{ 'first': 'Michael', 'last': 'Angelo' }
Тук, въпреки че променяме само първото име, с PUT
заявка трябва да изпратим и двата параметъра първи и последен. С други думи, задължително е изпращането на всички стойности отново, пълния полезен товар.
Когато изпращаме PATCH
при заявка обаче изпращаме само данните, които искаме да актуализираме. С други думи, изпращаме само първото име за актуализация, няма нужда да изпращаме фамилното име.
Поради тази причина, PATCH
заявката изисква по-малка честотна лента.