Выбор ответа Senior Коды ответа обновлено
Ошибка в теле при коде 200
Вопрос
API на любой запрос отвечает 200 OK, а ошибку пишет в теле: {"success": false, "error": "NOT_FOUND"}. Что главное стоит отметить как риск?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Мониторинг, кеши, ретраи и библиотеки сочтут ответ успешным. Инфраструктура опирается на коды: алерты по доле 5xx, ретраи на 503, кеширование 200, response.ok во фронтенде.
Варианты ответа
- Ничего: код ответа ни на что не влияет, клиент всё равно читает тело
- Такой API нарушает спецификацию JSON, где поле ошибки зарезервировано
- Браузер не покажет ответ с
success: false, раз статус успешный - Мониторинг, кеши, ретраи и библиотеки сочтут ответ успешнымправильный ответ
Разбор
Инфраструктура опирается на коды: алерты по доле 5xx, ретраи на 503, кеширование 200, response.ok во фронтенде. Если всё 200, ошибки проходят мимо метрик, а кеш может сохранить ответ-ошибку. Это не нарушение JSON и браузер всё отобразит. Исключение, которое стоит знать: в GraphQL ошибки в теле при 200 нормальная практика, там свои правила.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.