API возвращает структурированный JSON с кодом/деталями; HTML — страницу; Accept и тип клиента определяют формат.
Разбор
- Единый envelope ошибок.
- Не отдавайте стек в prod.
- Корректные HTTP статусы.
- Контент-негоциация в фреймворке.
Итог
Формат ошибки должен соответствовать клиенту API vs браузер.