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: String
GraphQL 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