PATCH
запити описують набір операцій, які слід застосувати до ресурсу, якщо ви застосовуєте один і той же набір операцій двічі до одного ресурсу, результат може бути не однаковим. Це пояснюється тим, що визначати операції залежить від вас. Іншими словами, ви повинні визначити правила злиття .
Пам'ятайте, що PATCH
запит може використовуватися для виправлення ресурсів у багатьох різних форматах, а не лише JSON.
Таким чином, PATCH
запит може бути ідентичним, якщо ви визначаєте правила злиття як ідентичні .
Ідентичний приклад:
// Original resource
{
name: 'Tito',
age: 32
}
// PATCH request
{
age: 33
}
// New resource
{
name: 'Tito',
age: 33
}
Неідентичний приклад:
// Original resource
{
name: 'Tito',
age: 32
}
// PATCH request
{
$increment: 'age'
}
// New resource
{
name: 'Tito',
age: 33
}
У другому прикладі я використав синтаксис "схожий на монго", який я створив для збільшення атрибута. Зрозуміло, що це не є ідентичним, оскільки надсилання одного і того ж запиту кілька разів призводить до різних результатів кожного разу.
Тепер вам може бути цікаво, чи правильно використовувати такий складений синтаксис. Відповідно до стандартів , це:
Різниця між запитами PUT та PATCH відображається в тому, як сервер обробляє додану сутність для зміни ресурсу, визначеного Request-URI. У запиті PUT вкладений об'єкт вважається модифікованою версією ресурсу, що зберігається на початковому сервері, і клієнт вимагає замінити збережену версію. Однак із PATCH додане об'єднання містить набір інструкцій, що описують, як ресурс, що перебуває в даний час на початковому сервері, повинен бути модифікований для створення нової версії.
І вам також може бути цікаво, чи спокійно використовувати PATCH
запити таким чином, і багато людей вважають, що їх немає, ось хороша відповідь з великою кількістю коментарів щодо цього питання.
{"name": "bendjamin franklin"}