pub struct GraphQLRequest<S = DefaultScalarValue>where
S: ScalarValue,{
pub query: String,
pub operation_name: Option<String>,
pub variables: Option<InputValue<S>>,
}Expand description
The expected structure of the decoded JSON document for either POST or GET requests.
For POST, you can use Serde to deserialize the incoming JSON data directly into this struct - it derives Deserialize for exactly this reason.
For GET, you will need to parse the query string and extract “query”, “operationName”, and “variables” manually.
Fields§
§query: StringGraphQL query representing this request.
operation_name: Option<String>Optional name of the operation associated with this request.
variables: Option<InputValue<S>>Optional variables to execute the GraphQL operation with.
Implementations§
Source§impl<S> GraphQLRequest<S>where
S: ScalarValue,
impl<S> GraphQLRequest<S>where
S: ScalarValue,
Sourcepub fn operation_name(&self) -> Option<&str>
👎Deprecated since 0.16.0: Use the direct field access instead.
pub fn operation_name(&self) -> Option<&str>
Returns the operation_name associated with this request.
Sourcepub fn variables(&self) -> Variables<S>
pub fn variables(&self) -> Variables<S>
Returns operation Variables defined withing this request.
Sourcepub fn new(
query: String,
operation_name: Option<String>,
variables: Option<InputValue<S>>,
) -> Self
pub fn new( query: String, operation_name: Option<String>, variables: Option<InputValue<S>>, ) -> Self
Construct a new GraphQL request from parts
Sourcepub fn execute_sync<QueryT, MutationT, SubscriptionT>(
&self,
root_node: &RootNode<'_, QueryT, MutationT, SubscriptionT, S>,
context: &QueryT::Context,
) -> GraphQLResponse<S>where
S: ScalarValue,
QueryT: GraphQLType<S>,
MutationT: GraphQLType<S, Context = QueryT::Context>,
SubscriptionT: GraphQLType<S, Context = QueryT::Context>,
pub fn execute_sync<QueryT, MutationT, SubscriptionT>(
&self,
root_node: &RootNode<'_, QueryT, MutationT, SubscriptionT, S>,
context: &QueryT::Context,
) -> GraphQLResponse<S>where
S: ScalarValue,
QueryT: GraphQLType<S>,
MutationT: GraphQLType<S, Context = QueryT::Context>,
SubscriptionT: GraphQLType<S, Context = QueryT::Context>,
Execute a GraphQL request synchronously using the specified schema and context
This is a simple wrapper around the execute_sync function exposed at the
top level of this crate.
Sourcepub async fn execute<'a, QueryT, MutationT, SubscriptionT>(
&'a self,
root_node: &'a RootNode<'a, QueryT, MutationT, SubscriptionT, S>,
context: &'a QueryT::Context,
) -> GraphQLResponse<S>where
QueryT: GraphQLTypeAsync<S>,
QueryT::TypeInfo: Sync,
QueryT::Context: Sync,
MutationT: GraphQLTypeAsync<S, Context = QueryT::Context>,
MutationT::TypeInfo: Sync,
SubscriptionT: GraphQLType<S, Context = QueryT::Context> + Sync,
SubscriptionT::TypeInfo: Sync,
S: ScalarValue + Send + Sync,
pub async fn execute<'a, QueryT, MutationT, SubscriptionT>(
&'a self,
root_node: &'a RootNode<'a, QueryT, MutationT, SubscriptionT, S>,
context: &'a QueryT::Context,
) -> GraphQLResponse<S>where
QueryT: GraphQLTypeAsync<S>,
QueryT::TypeInfo: Sync,
QueryT::Context: Sync,
MutationT: GraphQLTypeAsync<S, Context = QueryT::Context>,
MutationT::TypeInfo: Sync,
SubscriptionT: GraphQLType<S, Context = QueryT::Context> + Sync,
SubscriptionT::TypeInfo: Sync,
S: ScalarValue + Send + Sync,
Execute a GraphQL request using the specified schema and context
This is a simple wrapper around the execute function exposed at the
top level of this crate.
Trait Implementations§
Source§impl<S> Clone for GraphQLRequest<S>where
S: ScalarValue + Clone,
impl<S> Clone for GraphQLRequest<S>where
S: ScalarValue + Clone,
Source§fn clone(&self) -> GraphQLRequest<S>
fn clone(&self) -> GraphQLRequest<S>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more