Go to file
2020-03-12 17:11:02 +08:00
.github/workflows add some validation code 2020-03-08 20:35:36 +08:00
async-graphql-derive v1.0.0 2020-03-12 17:11:02 +08:00
examples auto rename to camelcase 2020-03-09 20:00:57 +08:00
src v1.0.0 2020-03-12 17:11:02 +08:00
tests auto rename to camelcase 2020-03-09 20:00:57 +08:00
.gitignore init commit 2020-03-01 18:54:34 +08:00
Cargo.toml v1.0.0 2020-03-12 17:11:02 +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 v1.0.0 2020-03-12 17:11:02 +08:00

The GraphQL server library implemented by rust

Documentation

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 ...).

Goals

  • Types
    • Scalar
      • Integer
      • Float
      • String
      • Bool
      • ID
      • DateTime
      • UUID
    • Containers
      • List
      • Non-Null
    • Object
      • Lifetime cycle
    • 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
  • 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