Skip to main content

ApiError

Trait ApiError 

Source
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,
}

Required Methods§

Source

fn status(&self) -> u16

Source

fn message(&self) -> String

Implementors§