pub trait ApiError {
// Required methods
fn status(&self) -> u16;
fn message(&self) -> String;
}Expand description
Trait implementada por enums de erro de domínio. Normalmente não é
implementada manualmente — use #[derive(ApiError)] do crate
serverust-macros, que lê #[status(N)] e #[message("...")] por variante
e emite simultaneamente impl ApiError + impl IntoResponse.
Resultado prático: você pode usar ? em handlers Result<T, MyError> e a
falha vira resposta JSON padronizada ({"error":"<message>"} com o status
declarado).
ⓘ
use serverust_macros::ApiError;
#[derive(Debug, ApiError)]
pub enum TaskError {
#[status(404)]
#[message("Task não encontrada")]
NotFound,
#[status(409)]
#[message("Título já existe")]
DuplicateTitle,
}