Struct actix_web_validator::Query [−][src]
pub struct Query<T>(pub T);
Expand description
Extract and validate typed information from the request’s query.
For query decoding uses serde_urlencoded crate QueryConfig allows to configure extraction process.
Example
use actix_web::{web, App}; use serde::Deserialize; use actix_web_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 }
Implementations
Deconstruct to an inner value.
Trait Implementations
Extract typed information from the request’s query.
Example
use actix_web::{web, App}; use serde::Deserialize; use actix_web_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=19&response_type=Code"`. async fn index(web::Query(info): web::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 }
Builds Query struct from request and provides validation mechanism
type Error = Error
type Error = ErrorThe associated error which can be returned.
type Config = QueryConfig
type Config = QueryConfigConfiguration for this extractor
Convert request to a Self Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for Query<T> where
T: RefUnwindSafe, impl<T> UnwindSafe for Query<T> where
T: UnwindSafe, Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = TShould always be Self
pub fn vzip(self) -> V