Scalars are the primitive data types in GraphQL, and they represent leaf values. A scalar field has no sub-fields to select, so the query stops there. Scalars also type arguments and variables.
The five built-in scalars are:
String: a UTF-8 character sequence.
Int: a 32-bit signed integer.
Float: a double-precision floating-point number.
Boolean: true or false.
ID: a unique identifier. It is serialized like a String and often used as a cache key.
You can also define custom scalars such as Date or Email, and the server supplies the code that serializes, parses and validates them. @specifiedBy can link one to its format specification.
scalar Date
scalar Email
scalar URL
type User {
id: ID!
email: Email!
birthDate: Date
}
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.