3 个稳定版本
1.0.3 | 2023 年 8 月 6 日 |
---|---|
1.0.2 | 2023 年 3 月 9 日 |
1.0.1 | 2023 年 2 月 26 日 |
在 解析器实现 中排名 #2095
8KB
133 行代码(不包括注释)
非空字符串类型
用于 Alexi King 建议的方法的非空字符串类型 - "解析,不验证"。
如何使用
添加依赖
cargo add non-blank-string-rs
使用
let username = NonBlankString::from_str("Hellow")?;
let username: NonBlankString = "Hellow".parse()?;
// fn login(username: &str)
login(&username)
适用于 REST API 端点,例如 /api/register
接受
#[derive(Deserialize)]
struct UserRegistrationRequest {
pub username: NonBlankString,
...
}
在 username
字段中有空值的传入 JSON 将引发反序列化错误(Serde)。
实用函数
添加到 Cargo.toml
[dev-dependencies]
non-blank-string-rs = { version = "1.0.3", features = ["utils"] }
函数
get_random_nonblank_string()
- 返回随机的NonBlankString
。适用于测试。
感谢
- Alexis King,文章 - Parse, don't validate
- Justin Wernick,文章 - The Newtype Pattern In Rust
依赖
~0.4–1.1MB
~25K SLoC