После сохранения профиля пропали телефон и город: разбор запроса PUT
У пользователя заполнены имя, телефон и город. Фронтенд формы «изменить имя» отправляет:
PUT /users/42
{"name": "Иван"}
После запроса имя изменилось, а телефон и город в базе стали пустыми.
Что здесь произошло?
- PUT заменяет представление ресурса целиком: непереданные поля затираются, для частичного — PATCH
- Ошибка в ORM: при обновлении записи она обнуляет все колонки, которые не заданы явно
- Фронтенд должен присылать телефон и город пустыми строками — тогда сервер сохранит прежние
- PUT и PATCH обрабатываются одинаково, дело в неверно описанной схеме ответа эндпоинта
