[][src]Crate async_graphql

The GraphQL server library implemented by rust

Crates.io version Download docs.rs docs

Documentation

Features

  • Fully support async/await
  • Type safety
  • Rustfmt friendly (Procedural Macro)
  • Custom scalar
  • Minimal overhead
  • Easy integration (hyper, actix_web, tide ...)
  • Upload files (Multipart request)
  • Subscription (WebSocket transport)
  • Custom extension
  • Apollo Tracing extension
  • Limit query complexity/depth

Integrations

License

Licensed under either of

  • Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.

References

Modules

extensions

Extensions for schema

http

A helper module that supports HTTP

validators

Input value validators

Macros

impl_scalar

After implementing the Scalar trait, you must call this macro to implement some additional traits.

Structs

CacheControl

Cache control values

Connection

Connection type

EmptyEdgeFields

Empty edge extension object

EmptyMutation

Empty mutation

EmptySubscription

Empty subscription

ID

ID scalar

PositionError

A wrapper with the wrong location

PreparedQuery

Prepared query object

QueryBuilder

Query builder

QueryParseError

Error for query parser

QueryPath

The query path, consists of multiple segments QueryPathSegment

QueryResult

Query result

Schema

GraphQL schema

SubscribeBuilder

Subscribe builder

Upload

Upload file type

Variables

Variables of query

Enums

QueryError

Error for query

QueryOperation

Connection query operation

QueryPathSegment

The query path segment

Value

Traits

DataSource

Data source of GraphQL Cursor Connections type

ErrorWithPosition

Creates a wrapper with an error location

Scalar

Represents a GraphQL scalar

Type

Represents a GraphQL type

Type Definitions

Context

Context object for resolve field

Error

Error type, are actually anyhow::Error

Result

Result type, are actually anyhow::Result<T>

Attribute Macros

Enum

Define a GraphQL enum

InputObject

Define a GraphQL input object

Interface

Define a GraphQL interface

Object

Define a GraphQL object

Subscription

Define a GraphQL subscription

Union

Define a GraphQL union