Crates.io | actix-web-4-validator |
lib.rs | actix-web-4-validator |
version | 3.2.0 |
source | src |
created_at | 2021-09-30 14:23:44.062208 |
updated_at | 2022-02-22 10:23:50.710322 |
description | Validation mechanism for actix-web |
homepage | |
repository | https://github.com/PiyushXCoder/actix-web-4-validator |
max_upload_size | |
id | 458723 |
size | 66,532 |
This crate is a Rust library for providing validation mechanism to actix-web with Validator crate.
It is fork of https://github.com/rambler-digital-solutions/actix-web-validator
I did fork it because that crate was made to work for actix_web 3 and I needed it to work for actix_web 4
This crate works with Cargo and can be found on
crates.io with a Cargo.toml
like:
[dependencies]
actix-web-4-validator = "3.2.0"
validator = { version = "0.14", features = ["derive"] }
serde = { version = "1", features = ["derive"] }
actix_web::web::Json
actix_web::web::Query
actix_web::web::Path
actix_web::web::Form
serde_qs::actix::QsQuery
actix_web
versions:0.*
supported version of actix-web is 1.*
1.*
supported version of actix-web is 2.*
2.*
supported version of actix-web is 3.*
3.*
supported version of actix-web is 4.*
use actix_web::{web, App};
use serde::Deserialize;
use actix_web_4_validator::Query;
use validator::Validate;
#[derive(Debug, Deserialize)]
pub enum ResponseType {
Token,
Code
}
#[derive(Deserialize, Validate)]
pub struct AuthRequest {
#[validate(range(min = 1000, max = 9999))]
id: u64,
response_type: ResponseType,
}
// Use `Query` extractor for query information (and destructure it within the signature).
// This handler gets called only if the request's query string contains a `id` and
// `response_type` fields.
// The correct request for this handler would be `/index.html?id=1234&response_type=Code"`.
async fn index(info: Query<AuthRequest>) -> String {
format!("Authorization request for client with id={} and type={:?}!", info.id, info.response_type)
}
fn main() {
let app = App::new().service(
web::resource("/index.html").route(web::get().to(index))); // <- use `Query` extractor
}
actix-web-validator is licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT)