[][src]Struct async_graphql::Schema

pub struct Schema<Query, Mutation, Subscription>(_);

GraphQL schema.

Cloning a schema is cheap, so it can be easily shared.

Implementations

impl<Query, Mutation, Subscription> Schema<Query, Mutation, Subscription> where
    Query: ObjectType + Send + Sync + 'static,
    Mutation: ObjectType + Send + Sync + 'static,
    Subscription: SubscriptionType + Send + Sync + 'static, 
[src]

pub fn build(
    query: Query,
    mutation: Mutation,
    subscription: Subscription
) -> SchemaBuilder<Query, Mutation, Subscription>
[src]

Create a schema builder

The root object for the query and Mutation needs to be specified. If there is no mutation, you can use EmptyMutation. If there is no subscription, you can use EmptySubscription.

pub fn new(
    query: Query,
    mutation: Mutation,
    subscription: Subscription
) -> Schema<Query, Mutation, Subscription>
[src]

Create a schema

pub async fn execute<'_>(&'_ self, request: impl Into<Request>) -> Response[src]

Execute an GraphQL query.

pub async fn execute_batch<'_>(
    &'_ self,
    batch_request: BatchRequest
) -> BatchResponse
[src]

Execute an GraphQL batch query.

pub fn execute_stream(
    &self,
    request: impl Into<Request>
) -> impl Stream<Item = Response> + Send
[src]

Execute an GraphQL subscription.

Trait Implementations

impl<Query, Mutation, Subscription> Clone for Schema<Query, Mutation, Subscription>[src]

impl<Query, Mutation, Subscription> Default for Schema<Query, Mutation, Subscription> where
    Query: Default + ObjectType + Send + Sync + 'static,
    Mutation: Default + ObjectType + Send + Sync + 'static,
    Subscription: Default + SubscriptionType + Send + Sync + 'static, 
[src]

impl<Query, Mutation, Subscription> Deref for Schema<Query, Mutation, Subscription>[src]

type Target = SchemaInner<Query, Mutation, Subscription>

The resulting type after dereferencing.

Auto Trait Implementations

impl<Query, Mutation, Subscription> !RefUnwindSafe for Schema<Query, Mutation, Subscription>

impl<Query, Mutation, Subscription> Send for Schema<Query, Mutation, Subscription> where
    Mutation: Send + Sync,
    Query: Send + Sync,
    Subscription: Send + Sync

impl<Query, Mutation, Subscription> Sync for Schema<Query, Mutation, Subscription> where
    Mutation: Send + Sync,
    Query: Send + Sync,
    Subscription: Send + Sync

impl<Query, Mutation, Subscription> Unpin for Schema<Query, Mutation, Subscription>

impl<Query, Mutation, Subscription> !UnwindSafe for Schema<Query, Mutation, Subscription>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,