просто кидает ошибку, которая становится 500 кодом.
А если через ApplicativeError сделать recover DecodingError?
recover это galaxy-brain версия catch. Не хочу. Хочу, чтобы невалидные запросы не попадали в слой бизнес-логики
есть AuthedRequest и middleware http route оборачиваешь в логику которая Request проверяет - например валидный ли для тебя json middleware либо возвращает AuthedRequest - в котором уже всё что бизнес логика хочет видеть, либо ошибку а бизнес логика пишется в терминах AuthedRoute и на вход видит тип сообщения с которым уже всё хорошо
не очень пронимаю, как это написать, чтобы работало для раутов с несколькими разными типами сообщений. Есть примеры? С другой стороны, штука из моего прошлого сообщения - это вроде то, что нужно, нет?
штука из твоего сообщения насколько понимаю будет работать, если так для тебя удобнее - тогда это вполне решение я говорил вот про это https://http4s.org/v0.23/auth/ так можно писать рауты бизнес логики принимающими сразу доменные объекты провалидированные если много разных раутов принимающих разные объекты, то нужен будет какой-то generic middleware, который json => A берёт и возвращает AuthedRequest[A] в моём кейсе была разная дополнительная логика валидации, поэтому просто разные middleware были, не подскажу как generic про валидацию json бы выглядел
спасибо, запомнил про auth. Пока останусь при своем решении
Обсуждают сегодня