pub trait Route: Send + Sync {
// Required methods
fn validate_requirements(
&self,
params: &ParamsNames<'_>,
resources: &Resources,
);
fn path(&self) -> RoutePath;
fn call<'a>(
&'a self,
req: &'a mut Request,
params: &'a PathParams,
resources: &'a Resources,
) -> PinnedFuture<'a, Result<Response>> ⓘ;
}Expand description
A Route is sort of a request handler
If possible you should use the provided macros which implement Route for you.
Required Methods§
fn validate_requirements(&self, params: &ParamsNames<'_>, resources: &Resources)
fn path(&self) -> RoutePath
fn call<'a>( &'a self, req: &'a mut Request, params: &'a PathParams, resources: &'a Resources, ) -> PinnedFuture<'a, Result<Response>> ⓘ
Implementors§
impl Route for GraphiQl
Available on crate feature
graphql only.impl<Q, M, Sub, S> Route for GraphQl<Q, M, Sub, S>where
Q: GraphQLTypeAsync<S, Context = GraphQlContext> + Send,
Q::TypeInfo: Send + Sync,
M: GraphQLTypeAsync<S, Context = GraphQlContext> + Send,
M::TypeInfo: Send + Sync,
Sub: GraphQLSubscriptionType<S, Context = GraphQlContext> + Send,
Sub::TypeInfo: Send + Sync,
S: ScalarValue + Send + Sync,
Available on crate feature
graphql only.