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

Зачем нужен PUT запрос?

1.3 Junior🔥 171 комментариев
#REST API и HTTP

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

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

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

# PUT запрос в HTTP

PUT запрос используется для полного обновления ресурса на сервере. Это один из основных методов REST API.

Основное назначение

PUT применяется когда нужно:

  • Заменить весь ресурс целиком на новые данные
  • Отправить полное состояние объекта
  • Убедиться, что ресурс обновлен в соответствии с отправленными данными

Различие между PUT и POST

# POST — создание нового ресурса
POST /api/users
{
    "name": "Иван",
    "email": "ivan@example.com"
}
# Результат: создается новый пользователь с id=5

# PUT — полное обновление существующего
PUT /api/users/5
{
    "name": "Иван Петров",
    "email": "ivan.petrov@example.com",
    "age": 30
}
# Результат: пользователь 5 полностью заменен новыми данными

Различие между PUT и PATCH

# PUT требует отправить ВСЕ поля объекта (идемпотентный)
PUT /api/users/5
{
    "name": "Иван",
    "email": "ivan@example.com",
    "age": 30,
    "phone": "+7-999-123-45-67"
}
# Если не отправить phone, он будет удален или очищен

# PATCH обновляет только переданные поля (частичное обновление)
PATCH /api/users/5
{
    "age": 31  # обновляем только возраст
}
# Остальные поля остаются неизменными

Практический пример с Python requests

import requests

user_data = {
    "id": 5,
    "name": "Иван",
    "email": "ivan@example.com",
    "phone": "+79991234567",
    "age": 30
}

# PUT запрос — полное обновление
response = requests.put(
    "https://api.example.com/users/5",
    json=user_data,
    headers={"Content-Type": "application/json"}
)

if response.status_code == 200:
    print("Пользователь успешно обновлен")
    print(response.json())
else:
    print(f"Ошибка: {response.status_code}")

Ключевые свойства PUT

  1. Идемпотентность — повторный запрос с теми же данными даст тот же результат
  2. Требует ID — нужен уникальный идентификатор ресурса в URL
  3. Полнота данных — должны отправляться все поля ресурса
  4. Безопасность — не должен иметь побочные эффекты

Когда использовать PUT

  • Обновление профиля пользователя (замена всех данных)
  • Обновление конфигурации
  • Замена содержимого документа
  • Синхронизация состояния между клиентом и сервером

Право хорошей практики в REST API — использовать PUT для полного обновления и PATCH для частичного, хотя многие API предпочитают использовать только POST или PATCH для упрощения.

Зачем нужен PUT запрос? | PrepBro