Что уйдёт на бэк?
Пользователь стёр дату рождения в профиле и нажал Сохранить. Что уйдёт на бэк?
Этот вопрос я задаю на собеседовании, когда кандидат уверенно рассказывает про PATCH. Чаще всего отвечают: пустое поле, бэк разберётся.
Бэк разберётся так, как написано в контракте. Вариантов три, и ведут они себя по-разному.
Поле пришло со значением null. Для PATCH это команда стереть значение, дата из профиля пропадёт.
Поле не пришло вообще. PATCH меняет только то, что ему передали, дата останется старой, хотя человек её стёр.
Пришла пустая строка. Тут бэк либо ответит 400, либо сохранит пустоту, смотря как его написали.
Правильным становится тот вариант, о котором договорились фронт, бэк и аналитик и который записан в спецификации формы. Если там тишина, каждый разработчик решит по-своему, и однажды у клиентов начнут пропадать данные.
Сильный ответ кандидата звучит коротко: зависит от контракта, я бы уточнил, что значит null для этого поля, и зафиксировал это в ТЗ.
А в ваших ТЗ такое где-то записано?
· 5 ч
Я уже не говорю про верификацию таких данных, версионирование и пр.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён