[][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 fn sdl(&self) -> String[src]

Returns SDL(Schema Definition Language) of this schema.

pub fn names(&self) -> Vec<String>[src]

Get all names in this schema

Maybe you want to serialize a custom binary protocol. In order to minimize message size, a dictionary is usually used to compress type names, field names, directive names, and parameter names. This function gets all the names so you can create this dictionary.

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

Execute a GraphQL query.

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

Execute a GraphQL batch query.

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

Execute a 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> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

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>,