Как сделать ошибки API полезными для клиента

Добавьте стабильный code, безопасное сообщение, ошибки по полям и request_id. HTTP-статус должен отражать класс проблемы, а технические подробности оставаться на сервере.

Короткий ответ

Что ответить на собеседовании

Добавьте стабильный code, безопасное сообщение, ошибки по полям и request_id. HTTP-статус должен отражать класс проблемы, а технические подробности оставаться на сервере.

Подробный разбор

Ответ с пояснениями

Условие

API возвращает только строку «Что-то пошло не так». Клиенту нужно показывать валидационные ошибки, отличать конфликт от сбоя сервера и давать поддержке номер обращения. Как расширить формат?

Ответ

Добавьте стабильный code, безопасное сообщение, ошибки по полям и request_id. HTTP-статус должен отражать класс проблемы, а технические подробности оставаться на сервере.

Например: {code:'validation_failed', message:'Проверьте поля', fields:{title:['Укажите название']}, request_id:'...'}. Не заставляйте клиента разбирать текст сообщения для бизнес-логики. Не включайте stack trace, токены или запросы БД в публичный ответ. Возможность повторить операцию и задержка повтора задаются отдельно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее