сторонний сервис, для примера, который может принимать данные от нашего сервиса, но, по своей внутрненней логике, может для ПОЛНОСТЬЮ корректного запроса отдать в ответ 400 ошибку,
И это тоже часть бизнес логики, что он, этот сторонний сервис, может вернуть 400
И что теперь, без try catch как быть в таком случае?
Не выбрасывать исключение?)
внутри бизнес логики можно ловить их
у тебя есть перед бизнесом как минимум один слой. например, DTO. на ней должно быть максимум валидаторов. всякие там @Uuid, @GreateThan и тд. Если DTO не прошла валидацию, то 400. А вот если прошла, но уже в агрегате Assert::uuid() сказал, что это не uuid, то это значит, что ты недописал валидатор. И это уже 500 critical. И тогда ты идешь в проект и добавляешь валидатор. В более сложном случае, когда сам бизнес-кейс не смог завершиться, то значит юзер смог как-то отправить неверный запрос, нажав на ошибочно активную кнопку. Значит, фронт неправильный. И опять надо идти править. Это мое видение.
Обсуждают сегодня