{"error": "not found"}Три разных JSON приходят одному клиенту. В первом текст ошибки в поле error, во втором — в message, в третьем текста нет вовсе, а status означает не код, а успех.
Часть 8 из 15 · слайды 61–65
Успешные ответы описаны схемами. Ошибкам нужен такой же единый формат на весь API.
Когда формат ошибки выбирает каждый разработчик сам, клиенту приходится писать отдельный разбор для каждого endpoint.
RFC 9457 определяет формат Problem Details. Он заменил более старый RFC 7807.
Так учебный проект отвечает на запрос несуществующего обращения.
Проверяем контракт ошибок в Swagger UI.
Проверяйте по порядку: каждая следующая проверка имеет смысл, только если предыдущая пройдена.