At the core of GraphQL is a type system, which describes the capabilities of the data API server and is used to determine if a query is valid. At each level of a GraphQL query, a particular type applies describing not only what fields are available but what arguments you can supply to those fields, and what types are going to be resolved from those fields.
A GraphQL server's capabilities are referred to as that server's schema, that is defined in terms of the types and directives it supports. The fundamental unit of any GraphQL schema is a type. There are eight kinds of types in GraphQL: Scalar
, Enum
, Object
, Interface
, Union
, List
, Non-Null
, and Input Object
.
The Scalar
types are primitive values that describe leaf nodes of the GraphQL schema; there are five built-in scalar types:
Int
: A signed 32-bit numeric non-fractional valueFloat
: A signed double-precision fractional value- String: Textual data represented as a UTF-8 character sequence
Boolean
: Can either betrue
...