Четыре эндпоинта возвращают ошибки в четырёх разных форматах
Ответы с ошибками одного сервиса:
GET /orders/1 → 404 {"error": "not found"}
POST /orders → 400 {"code": 17, "msg": "bad phone"}
POST /payments → 400 text/plain: Invalid card
POST /refunds → 200 {"success": false, "reason": "limit"}
Мобильная команда пишет отдельный разбор под каждый эндпоинт и не может показать пользователю, какое именно поле формы заполнено неверно. Что зафиксировать в контракте?
- Единую модель ошибки, например Problem Details
- Всегда 200 OK и признак success в теле
- Текст ошибки, готовый к показу пользователю
- Коды ошибок только в статье на Confluence
