Struct axum_valid::garde::Garde
source · pub struct Garde<E>(pub E);Expand description
Garde data extractor
Garde uses garde to validate data, supporting validation with or without arguments.
If not using arguments, its usage is similar to Valid. However, if your axum router uses a state, you need to implement FromRef<StateType> for ().
If using arguments, you must pass the arguments to Garde extractor via state, meaning implementing FromRef<StateType> for your validation arguments type.
Tuple Fields§
§0: EImplementations§
source§impl<E> Garde<E>
impl<E> Garde<E>
sourcepub fn into_inner(self) -> E
pub fn into_inner(self) -> E
Consumes the Garde and returns the validated data within.
This returns the E type which represents the data that has been
successfully validated.
Trait Implementations§
source§impl<State, Extractor, Context> FromRequest<State> for Garde<Extractor>where
State: Send + Sync,
Context: Send + Sync + FromRef<State>,
Extractor: HasValidate + FromRequest<State>,
<Extractor as HasValidate>::Validate: Validate<Context = Context>,
impl<State, Extractor, Context> FromRequest<State> for Garde<Extractor>where
State: Send + Sync,
Context: Send + Sync + FromRef<State>,
Extractor: HasValidate + FromRequest<State>,
<Extractor as HasValidate>::Validate: Validate<Context = Context>,
§type Rejection = ValidationRejection<Report, <Extractor as FromRequest<State>>::Rejection>
type Rejection = ValidationRejection<Report, <Extractor as FromRequest<State>>::Rejection>
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
source§fn from_request<'life0, 'async_trait>(
req: Request,
state: &'life0 State
) -> Pin<Box<dyn Future<Output = Result<Self, Self::Rejection>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn from_request<'life0, 'async_trait>(
req: Request,
state: &'life0 State
) -> Pin<Box<dyn Future<Output = Result<Self, Self::Rejection>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Perform the extraction.
source§impl<State, Extractor, Context> FromRequestParts<State> for Garde<Extractor>where
State: Send + Sync,
Context: Send + Sync + FromRef<State>,
Extractor: HasValidate + FromRequestParts<State>,
<Extractor as HasValidate>::Validate: Validate<Context = Context>,
impl<State, Extractor, Context> FromRequestParts<State> for Garde<Extractor>where
State: Send + Sync,
Context: Send + Sync + FromRef<State>,
Extractor: HasValidate + FromRequestParts<State>,
<Extractor as HasValidate>::Validate: Validate<Context = Context>,
§type Rejection = ValidationRejection<Report, <Extractor as FromRequestParts<State>>::Rejection>
type Rejection = ValidationRejection<Report, <Extractor as FromRequestParts<State>>::Rejection>
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
source§fn from_request_parts<'life0, 'life1, 'async_trait>(
parts: &'life0 mut Parts,
state: &'life1 State
) -> Pin<Box<dyn Future<Output = Result<Self, Self::Rejection>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn from_request_parts<'life0, 'life1, 'async_trait>(
parts: &'life0 mut Parts,
state: &'life1 State
) -> Pin<Box<dyn Future<Output = Result<Self, Self::Rejection>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Perform the extraction.
source§impl<T> OperationInput for Garde<T>where
T: OperationInput,
impl<T> OperationInput for Garde<T>where
T: OperationInput,
source§fn operation_input(ctx: &mut GenContext, operation: &mut Operation)
fn operation_input(ctx: &mut GenContext, operation: &mut Operation)
Modify the operation. Read more
source§fn inferred_early_responses(
ctx: &mut GenContext,
operation: &mut Operation
) -> Vec<(Option<u16>, Response)>
fn inferred_early_responses( ctx: &mut GenContext, operation: &mut Operation ) -> Vec<(Option<u16>, Response)>
Inferred early responses are used to document early returns for
extractors, guards inside handlers. For example these could represent
JSON parsing errors, authentication failures. Read more
source§impl<T: TypedPath + Display> TypedPath for Garde<T>
impl<T: TypedPath + Display> TypedPath for Garde<T>
source§fn with_query_params<T>(self, params: T) -> WithQueryParams<Self, T>
fn with_query_params<T>(self, params: T) -> WithQueryParams<Self, T>
Add query parameters to a path. Read more
impl<E: Copy> Copy for Garde<E>
Auto Trait Implementations§
impl<E> RefUnwindSafe for Garde<E>where
E: RefUnwindSafe,
impl<E> Send for Garde<E>where
E: Send,
impl<E> Sync for Garde<E>where
E: Sync,
impl<E> Unpin for Garde<E>where
E: Unpin,
impl<E> UnwindSafe for Garde<E>where
E: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<S, T> FromRequest<S, ViaParts> for T
impl<S, T> FromRequest<S, ViaParts> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a [
CompactString]. Read more