Разлика между заявките PUT и PATCH

Каква е основната разлика между PUT и PATCH искания и кога трябва да използваме едното над другото?

PUT и PATCH са HTTP глаголи и и двете се отнасят до актуализиране на ресурс.



Основна разлика между заявките PUT и PATCH

Основната разлика между заявките PUT и PATCH е в начина, по който сървърът обработва затворения обект, за да модифицира ресурса, идентифициран от Request-URI.


В PUT при заявка, затвореният обект се счита за модифицирана версия на ресурса, съхраняван на първоначалния сървър, а клиентът изисква съхранената версия да бъде заменена.

С PATCH, обаче, затвореният обект съдържа набор от инструкции, описващи как ресурс, който в момента се намира на първоначалния сървър, трябва да бъде модифициран, за да създаде нова версия.


Също така, друга разлика е, че когато искате да актуализирате ресурс с PUT заявка, трябва да изпратите пълния полезен товар като заявка, докато с PATCH изпращате само параметрите, които искате да актуализирате.

Свързани:

Да предположим, че имаме ресурс, който съдържа собственото и фамилното име на човек.

Ако искаме да сменим първото име, изпращаме PUT заявка за актуализация


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

Тук, въпреки че променяме само първото име, с PUT заявка трябва да изпратим и двата параметъра първи и последен. С други думи, задължително е изпращането на всички стойности отново, пълния полезен товар.

Когато изпращаме PATCH при заявка обаче изпращаме само данните, които искаме да актуализираме. С други думи, изпращаме само първото име за актуализация, няма нужда да изпращаме фамилното име.

Поради тази причина, PATCH заявката изисква по-малка честотна лента.