#error-response #error #rest #error-message #json-error #response-body #json-response

terror

统一的 REST 错误响应体,针对 JSON 优化

8 个版本 (3 个重大更改)

3.0.1 2024年3月10日
3.0.0 2023年12月14日
2.1.4 2023年12月14日
1.1.4 2023年12月14日
0.1.2 2022年5月18日

#7#error-response

Download history 149/week @ 2024-04-08

每月233次下载

MIT 许可证

24KB
546 代码行

概述

TError(典型错误)是一个小巧的库,它为典型的 REST 服务公开了可配置且统一的响应体表示形式。它涵盖了大多数基本方面,如返回状态码、消息、详细错误数据等。

入门

要启用 terror,只需将其添加到您的 Cargo.toml

terror = "3.0.1"

然后开始编写代码

fn main() {
    let error = Terror::new(500, String::format("generic server error"))
        .build();
}

您还可以添加一些功能,例如错误代码

fn main() {
    let error = Terror::new(500, String::format("generic server error"))
        .error_code("error.internal")
        .build();
}

架构

terror 使用 Rust 1.60 构建。

terror 的一个一般目标是将其序列化为 JSON。因此,它被设计为与 serde 兼容。至于其他方面,terror 尽量减少依赖。

功能

有时在错误响应中添加一些额外元数据很方便;terror 提供了 3 个这样的功能

功能 notion backend
err_id V4 UUID 错误 ID uuid
time UTC 的 ISO-8601 错误时间戳 chrono
mdn 关于状态码的 MDN 参考链接 n/a

依赖项

~0.7–2MB
~40K SLoC