Вступить в клуб →
средняявопросREST API и валидация данных

После сохранения профиля пропали телефон и город: разбор запроса PUT

У пользователя заполнены имя, телефон и город. Фронтенд формы «изменить имя» отправляет:

PUT /users/42

{"name": "Иван"}

После запроса имя изменилось, а телефон и город в базе стали пустыми.

Что здесь произошло?

  • PUT заменяет представление ресурса целиком: непереданные поля затираются, для частичного — PATCH
  • Ошибка в ORM: при обновлении записи она обнуляет все колонки, которые не заданы явно
  • Фронтенд должен присылать телефон и город пустыми строками — тогда сервер сохранит прежние
  • PUT и PATCH обрабатываются одинаково, дело в неверно описанной схеме ответа эндпоинта

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела