Go to file
2020-03-22 16:48:13 +08:00
.github/workflows Clippy cleanup 2020-03-21 09:32:13 +08:00
async-graphql-actix-web v1.4.3 2020-03-22 16:48:13 +08:00
async-graphql-derive v1.4.3 2020-03-22 16:48:13 +08:00
examples v1.4.0 2020-03-21 15:11:46 +08:00
src Add CacheControl for object 2020-03-22 16:45:59 +08:00
tests add GraphQL Cursor Connections 2020-03-19 17:20:12 +08:00
.gitignore init commit 2020-03-01 18:54:34 +08:00
Cargo.toml v1.4.3 2020-03-22 16:48:13 +08:00
LICENSE-APACHE add some files 2020-03-01 21:56:14 +08:00
LICENSE-MIT add some files 2020-03-01 21:56:14 +08:00
README.md Add CacheControl for object 2020-03-22 16:45:59 +08:00

The GraphQL server library implemented by rust

async-graphql is a GraphQL server library that fully supports async/await and is easy to use.

It supports all of the GraphQL specifications and is easy to integrate into existing web servers.

Example

cargo run --example actix-web

Open http://localhost:8000 in browser

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)

Integrations

Goals

  • Types
    • Scalar
      • Integer
      • Float
      • String
      • Bool
      • ID
      • DateTime
      • UUID
      • Url
      • ObjectId
    • Containers
      • List
      • Non-Null
    • Object
    • Enum
    • InputObject
      • Field default value
      • Deprecated flag
    • Interface
    • Union
  • Query
    • Fields
    • Arguments
      • Default value
      • Deprecated flag
    • Alias
    • Fragments
    • Inline fragments
    • Operation name
    • Variables
      • Default value
      • Parse value
    • Directives
      • @include
        • FIELD
        • FRAGMENT_SPREAD
        • INLINE_FRAGMENT
      • @skip
        • FIELD
        • FRAGMENT_SPREAD
        • INLINE_FRAGMENT
    • Schema
    • Multipart Request (https://github.com/jaydenseric/graphql-multipart-request-spec)
      • Actix-web
    • Cursor Connections
    • Input value validators
      • Custom validator
      • Combination
        • and
        • or
      • Integer
        • IntRange
        • IntLessThan
        • IntGreaterThan
        • IntNonZero
      • String
        • Email
        • MAC
        • StringMinLength
        • StringMaxLength
      • List
        • ListMaxLength
        • ListMinLength
  • Subscription
    • Filter
    • WebSocket transport
  • Validation rules
    • ArgumentsOfCorrectType
    • DefaultValuesOfCorrectType
    • FieldsOnCorrectType
    • FragmentsOnCompositeTypes
    • KnownArgumentNames
    • KnownDirectives
    • KnownFragmentNames
    • KnownTypeNames
    • LoneAnonymousOperation
    • NoFragmentCycles
    • NoUndefinedVariables
    • NoUnusedFragments
    • NoUnusedVariables
    • OverlappingFieldsCanBeMerged
    • PossibleFragmentSpreads
    • ProvidedNonNullArguments
    • ScalarLeafs
    • UniqueArgumentNames
    • UniqueFragmentNames
    • UniqueOperationNames
    • UniqueVariableNames
    • VariablesAreInputTypes
    • VariableInAllowedPosition
  • Integration examples
    • Actix-web
    • Hyper
    • Tide

License

Licensed under either of

References

Contribute

Welcome to contribute !