Два вечера по полтора часа сидел что бы разобраться как возвращать кастомные ответы ошибок так что бы не было мучительно больно. Не то что бы совсем хорошо, но пойдет в итоге. Преобразования типов ошибок когда их миллион видов конечно то еще удовольствие. Каждая либа делает свои ошибки и они не сводятся к одному корню.
Пришлось упаковывать все в anyhow и свои ошибки, а потом упаковывать anyhow в свою ошибку так как вебсерверу нужно что бы ошибка реализовывала трейт, который отсутствует в anyhow и наконец, для того что бы формировать красивый ответ, в трейте, который реализует ответ я расковыриваю бутерброд обратно. Внутри так себе, зато в коде не надо много писать каждый раз.