← Назад к вопросам

Что такое PATCH в REST?

1.3 Junior🔥 141 комментариев
#Тестирование API

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

PATCH в REST API

PATCH — это HTTP-метод, который используется для частичного обновления ресурса на сервере. В отличие от PUT, который заменяет весь ресурс, PATCH позволяет изменить только те поля, которые необходимы.

Основные характеристики PATCH

Назначение:

  • Частичное обновление ресурса (обновляем только изменённые данные)
  • Экономия трафика (передаём минимум информации)
  • Уменьшение нагрузки на БД (обновляем только необходимые поля)

Различия PATCH и PUT

PUT используется для полной замены ресурса, требует передачи всего объекта. PATCH — для частичного обновления, передаём только изменённые поля. PUT идемпотентен всегда, PATCH — зависит от реализации.

Практические примеры

Пример 1: Успешное обновление статуса заказа При выполнении PATCH /api/v1/orders/456 с телом {"status": "shipped"} сервер возвращает 200 OK с полным объектом заказа, где изменено только поле status, остальные данные остаются без изменений.

Пример 2: Частичное обновление профиля При обновлении только first_name и avatar_url пользователя остальные поля (email, phone, created_at) не изменяются и не удаляются.

Что тестировать

  • Статус коды: 200 OK, 204 No Content, 400 Bad Request, 404 Not Found, 422 Unprocessable Entity
  • Валидация полей: проверяем, что сервер правильно обрабатывает пустые значения, null, некорректные типы данных
  • Частичные обновления: подтверждаем, что обновляются только переданные поля
  • Конфликты версионирования: если используется ETag или If-Match, тестируем поведение при несовпадении версий
  • Права доступа: проверяем, может ли пользователь обновлять свои данные, но не чужие
  • Граничные случаи: пустое тело запроса, очень большие значения, специальные символы

PATCH — это мощный инструмент для эффективного обновления ресурсов в современных REST API.

Что такое PATCH в REST? | PrepBro