2 个版本
0.0.1-rc.2 | 2022 年 6 月 7 日 |
---|---|
0.0.1-rc.1 | 2021 年 7 月 24 日 |
#20 in #json-response
21KB
199 行
rocket-response - 提供可变 Rocket 响应的枚举
- RocketResponse 提供了所有非泛型 响应 类型。
- RocketResponseGeneric 提供了使用单个泛型类型的非泛型 响应 类型。
- RocketResponseGeneric2 允许使用不同的 Flash 类型。
如果您缺少任何 响应,请欢迎您打开 问题 或甚至提供 pull-request!
由于很难决定泛型可能有什么用,所以您的用例非常欢迎在 问题 中。
用法
要使用,请将 crate 添加到您的依赖项中
[dependencies]
rocket-response = { version = "0.0.1-rc.2" }
功能
您可以根据需要依赖一些功能,这些功能提供了额外的类型。
- json
- msgpack
- templates-handlebars 或 templates-tera
[dependencies]
rocket-response = { version = "0.0.1-rc.2", features = ["json", "templates-tera"] }
示例
use rocket::{get, response::{self, status, Redirect}};
use rocket_response::RocketResponseGeneric2 as RocketResponse;
#[get("/<id>")]
pub(crate) fn rocket_response_generic2(
id: usize,
) -> RocketResponse<&'static str, Redirect> {
match id {
0 => RocketResponse::Flash(response::Flash::error(
Redirect::to("/"),
format!("Invalid id {}", id),
)),
1 => RocketResponse::Unauthorized(status::Unauthorized(Some(
"admin need authentication",
))),
_ => RocketResponse::Html(response::content::Html(
"<html><body>Hello world</body></html",
)),
}
}
许可证
您可以选择 MIT 许可证 或 Apache 许可证 2.0。
MIT 许可证
版权所有 (c) 2022 Markus Kolb
特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人,免费使用该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向提供软件的人做上述事项,前提是必须遵守以下条件
上述版权声明和本许可声明(包括下一段)应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、适用于特定目的和侵犯版权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论基于合同、侵权或其他行为,无论是由、出于或与该软件或该软件的使用或其他方式有关。
Apache License 2.0
版权所有 2022 Markus Kolb
根据Apache License 2.0(以下简称“许可”)许可;除非适用法律要求或书面同意,否则未经许可不得使用此文件。您可以在以下地址获取许可副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可下分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件,无论是否明确表示。有关许可的具体语言、权限和限制,请参阅许可。
依赖项
~15–48MB
~801K SLoC