1 个不稳定发布
0.5.0-rc.1 | 2021年10月8日 |
---|
#1025 in HTTP服务器
15KB
155 行
Rocket扩展,允许在application/x-www-form-urlencoded表单中使用枚举
此Crate是为了解决https://github.com/SergioBenitez/Rocket/issues/1937。
它源自rocket中包含的serde_json实现。
#[derive(Debug, Deserialize)]
#[serde(tag = "type")]
enum Body {
#[serde(rename = "variant_one")]
VariantOne(VariantOne),
#[serde(rename = "variant_two")]
VariantTwo(VariantTwo),
}
#[derive(Debug, Deserialize)]
struct VariantOne {
content_one: String
}
#[derive(Debug, Deserialize)]
struct VariantTwo {
content_two: String
}
#[post("/form", format = "form", data = "<data>")]
fn body(data: UrlEncoded<Body>) -> String { /*...*/ }
状态
工作正常,但尚未进行单元测试,也未为用户提供本地测试手段。
支持rust稳定版和nightly版,与Rocket兼容。
行为准则
请注意,本项目附带贡献者行为准则。参与本项目即表示您同意遵守其条款。
贡献
请在Github上正常提交PR。在提交前请运行Cargo test和rustfmt代码。
依赖项
~15–48MB
~790K SLoC