Crates.io | axum-enum-response |
lib.rs | axum-enum-response |
version | 0.1.2 |
source | src |
created_at | 2024-02-28 19:12:27.571755 |
updated_at | 2024-02-28 20:39:26.987983 |
description | Use enums as Axum Response's easily |
homepage | |
repository | https://github.com/lilyrrose/axum-enum-response |
max_upload_size | |
id | 1156858 |
size | 23,096 |
MSRV: 1.65.0
Easily use an enum as an Axum Response type.
#[derive(serde::Serialize)]
struct SomeData {
meow: String,
}
#[derive(EnumIntoResponse)]
enum ErrorResponse {
#[status_code(UNAUTHORIZED)]
Unauthorized, // 401, empty body
#[status_code(FORBIDDEN)]
#[message("mew")]
Forbidden, // 403, body = {"message": "mew"}
#[status_code(BAD_REQUEST)]
BadRequest(SomeData),
#[status_code(INTERNAL_SERVER_ERROR)]
InternalServerError(#[key("error")] String), // 500, body = {"error": STRING},
}