Struct async_graphql::SchemaBuilder
source · [−]pub struct SchemaBuilder<Query, Mutation, Subscription> { /* private fields */ }
Expand description
Schema builder
Implementations
sourceimpl<Query, Mutation, Subscription> SchemaBuilder<Query, Mutation, Subscription>
impl<Query, Mutation, Subscription> SchemaBuilder<Query, Mutation, Subscription>
sourcepub fn register_input_type<T: InputType>(self) -> Self
pub fn register_input_type<T: InputType>(self) -> Self
Manually register a input type in the schema.
You can use this function to register schema types that are not directly referenced.
sourcepub fn register_output_type<T: OutputType>(self) -> Self
pub fn register_output_type<T: OutputType>(self) -> Self
Manually register a output type in the schema.
You can use this function to register schema types that are not directly referenced.
sourcepub fn disable_introspection(self) -> Self
pub fn disable_introspection(self) -> Self
Disable introspection queries.
sourcepub fn introspection_only(self) -> Self
pub fn introspection_only(self) -> Self
Only process introspection queries, everything else is processed as an error.
sourcepub fn limit_complexity(self, complexity: usize) -> Self
pub fn limit_complexity(self, complexity: usize) -> Self
Set the maximum complexity a query can have. By default, there is no limit.
sourcepub fn limit_depth(self, depth: usize) -> Self
pub fn limit_depth(self, depth: usize) -> Self
Set the maximum depth a query can have. By default, there is no limit.
sourcepub fn limit_recursive_depth(self, depth: usize) -> Self
pub fn limit_recursive_depth(self, depth: usize) -> Self
Set the maximum recursive depth a query can have. (default: 32)
If the value is too large, stack overflow may occur, usually 32
is
enough.
sourcepub fn extension(self, extension: impl ExtensionFactory) -> Self
pub fn extension(self, extension: impl ExtensionFactory) -> Self
Add an extension to the schema.
Examples
use async_graphql::*;
struct Query;
#[Object]
impl Query {
async fn value(&self) -> i32 {
100
}
}
let schema = Schema::build(Query, EmptyMutation, EmptySubscription)
.extension(extensions::Logger)
.finish();
sourcepub fn data<D: Any + Send + Sync>(self, data: D) -> Self
pub fn data<D: Any + Send + Sync>(self, data: D) -> Self
Add a global data that can be accessed in the Schema
. You access it
with Context::data
.
sourcepub fn validation_mode(self, validation_mode: ValidationMode) -> Self
pub fn validation_mode(self, validation_mode: ValidationMode) -> Self
Set the validation mode, default is ValidationMode::Strict
.
sourcepub fn enable_federation(self) -> Self
pub fn enable_federation(self) -> Self
Enable federation, which is automatically enabled if the Query has least one entity definition.
sourcepub fn enable_subscription_in_federation(self) -> Self
pub fn enable_subscription_in_federation(self) -> Self
Make the Federation SDL include subscriptions.
Note: Not included by default, in order to be compatible with Apollo Server.
sourcepub fn override_input_type_description<T: InputType>(
self,
desc: &'static str
) -> Self
pub fn override_input_type_description<T: InputType>(
self,
desc: &'static str
) -> Self
Override the name of the specified input type.
sourcepub fn override_output_type_description<T: OutputType>(
self,
desc: &'static str
) -> Self
pub fn override_output_type_description<T: OutputType>(
self,
desc: &'static str
) -> Self
Override the name of the specified output type.
Auto Trait Implementations
impl<Query, Mutation, Subscription> !RefUnwindSafe for SchemaBuilder<Query, Mutation, Subscription>
impl<Query, Mutation, Subscription> Send for SchemaBuilder<Query, Mutation, Subscription>where
Mutation: Send,
Query: Send,
Subscription: Send,
impl<Query, Mutation, Subscription> Sync for SchemaBuilder<Query, Mutation, Subscription>where
Mutation: Sync,
Query: Sync,
Subscription: Sync,
impl<Query, Mutation, Subscription> Unpin for SchemaBuilder<Query, Mutation, Subscription>where
Mutation: Unpin,
Query: Unpin,
Subscription: Unpin,
impl<Query, Mutation, Subscription> !UnwindSafe for SchemaBuilder<Query, Mutation, Subscription>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more