6个稳定版本
1.1.2 | 2023年5月2日 |
---|---|
1.1.1 | 2023年2月26日 |
1.1.0 | 2022年12月1日 |
1.0.2 | 2022年11月10日 |
#922 in HTTP服务器
每月下载量:77
25KB
394 行
actix-web-jsonschema
这个Crate是一个Rust库,为actix-web提供与jsonschema crate的验证机制。
有关此Crate的更多信息,请参阅Crate文档。
安装
这个Crate与Cargo一起工作,可以在crates.io上找到,Cargo.toml文件如下:
[dependencies]
actix-web = { version = "4", features = ["macros"] }
actix-web-jsonschema = { version = "1", features = ["validator"] }
serde = { version = "1", features = ["derive"] }
schemars = { version = "0.8" }
validator = { version = "0.16", features = ["derive"] }
功能标志
支持的提取器
示例
use actix_web::{web, App};
use serde::Deserialize;
use schemars::JsonSchema;
use validator::Validate;
use actix_web_jsonschema::Query;
#[derive(Deserialize, JsonSchema, Validate)]
struct Request {
#[validate(length(min = 1, max = 20))]
name: String,
}
async fn index(Query(Request{ name }): Query<Request>) -> String {
format!("Hello, {name}!")
}
fn main() {
let app = App::new().service(
web::resource("/hello").route(web::get().to(index))); // <- use `Query` extractor
}
许可证:MIT
依赖项
~21–36MB
~609K SLoC