actix-web で custom error

2021/5/3
Rust actix-web

FYI: https://actix.rs/docs/errors/

If a handler returns an Error (referring to the general Rust trait std::error::Error) in a Result that also implements the ResponseError trait, actix-web will render that error as an HTTP response with its corresponding actix_web::http::StatusCode.

とあるとおり、handler が返す Error に ResponseError trait の構成要素である error_response と status_code を実装しておけば、actix-web はそれをカスタムエラーとして扱ってくれる。