Вопрос проверяет понимание семантики HTTP-метода PATCH и его отличий от PUT, что важно для проектирования корректных RESTful API.
HTTP-метод PATCH предназначен для частичного обновления существующего ресурса. В RESTful архитектуре это позволяет клиенту отправить набор изменений ("патч"), а не полное представление ресурса.
Метод PUT предполагает идемпотентную замену ресурса целиком. Клиент должен отправить полное новое состояние. PATCH же не является идемпотентным по умолчанию (хотя может быть спроектирован таковым) и предназначен для применения дельты изменений.
Спецификация не диктует единый формат для описания изменений. Чаще всего используется JSON Patch (стандарт RFC 6902) или простой JSON-объект с изменяемыми полями (де-факто стандарт для многих API).
// Запрос PATCH /users/123
// Content-Type: application/json-patch+json
[
{ "op": "replace", "path": "/email", "value": "new@example.com" },
{ "op": "add", "path": "/tags", "value": ["premium"] }
]// Запрос PATCH /users/123
// Content-Type: application/json
{
"email": "updated@example.com",
"age": 30
}Вывод: PATCH стоит применять, когда нужно обновить только часть данных ресурса, чтобы снизить нагрузку на сеть и упростить логику клиента, особенно в мобильных приложениях или при работе с большими объектами.