своего веб-сервера хендлер для этой ошибки, пишешь Into<ApiError> for ЛюбаяНужнаяОшибка (например, бд), и потом по всему коду спокойно пишешь функции, возвращающие Result <Нужный тип, ApiError> и больше тебе в коде не нужно обрабатывать ошибки бд в хендлерах или сервисах, ты их прокинешь через ? и на уровне хендлера ошибок превратишь, например, в 500, если это ошибка бд, или ещё во что-то.
Ты переносишь обработку на другой уровень, если это возможно и если тебе это не нужно прямо вот здесь.
Йа правильно понимаю?
Не очень. Result — это в абсолютно обычный тип. Всё, что делает знак вопроса — это возвращает значение, возможно, сконвертировав его. Что будет дальше с возвращаемым значением — решает уже код, который эту функцию вызывает
Мне кажется, человеку проще посмотреть реальные примеры, чем слушать наши объяснения.
а я смотрю и вижу фигу
Обсуждают сегодня