1 个不稳定发布

0.5.0-rc.12021年10月8日

#1025 in HTTP服务器

MIT/Apache

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