Graphql: Difference between revisions
Jump to navigation
Jump to search
Line 16: | Line 16: | ||
* Boolean true or false values | * Boolean true or false values | ||
* ID Unique identifier, Used to re-fetch an object or a the key for a cache | * ID Unique identifier, Used to re-fetch an object or a the key for a cache | ||
=== Types === | === Structure Types === | ||
<syntaxhighlight lang="graphql"> | <syntaxhighlight lang="graphql"> | ||
type Author { | type Author { | ||
Line 32: | Line 32: | ||
SPANISH | SPANISH | ||
FRENCH | FRENCH | ||
} | |||
</syntaxhighlight> | |||
=== Query and Mutation Types === | |||
Every GraphQL service has a query type. It may or may not have a mutation type. Tyey act as an entry point into the schema. | |||
<syntaxhighlight lang="graphql"> | |||
schema { | |||
query: Query | |||
mutation: Mutation | |||
} | |||
</syntaxhighlight> | |||
Examples | |||
<syntaxhighlight lang="graphql"> | |||
type Query { | |||
author_details: [Author] | |||
} | |||
type Mutation { | |||
addAuthor: [firstName: String, lastName: String_):Author | |||
} | |||
</syntaxhighlight> | |||
=== Allowing Null values === | |||
Adding a bang to the fields means the field is allowed to be nullable. | |||
<syntaxhighlight lang="graphql"> | |||
type Author { | |||
id: ID!, | |||
firstName: String | |||
lastName: String | |||
rating: Float | |||
numOfCourses: Int | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 03:06, 6 August 2020
Introduction
This is a query language for your API.
Example
A example Query and Response provides an example.
It is used by
- PsyPal
- Github
Core Concepts
Data Types
- Int signed 32-bit integer
- Float signed double-precision floating-point value
- String utf8 character sequence
- Boolean true or false values
- ID Unique identifier, Used to re-fetch an object or a the key for a cache
Structure Types
type Author {
id: ID,
firstName: String
lastName: String
rating: Float
numOfCourses: Int
}
Enums
enum language {
ENGLISH
SPANISH
FRENCH
}
Query and Mutation Types
Every GraphQL service has a query type. It may or may not have a mutation type. Tyey act as an entry point into the schema.
schema {
query: Query
mutation: Mutation
}
Examples
type Query {
author_details: [Author]
}
type Mutation {
addAuthor: [firstName: String, lastName: String_):Author
}
Allowing Null values
Adding a bang to the fields means the field is allowed to be nullable.
type Author {
id: ID!,
firstName: String
lastName: String
rating: Float
numOfCourses: Int
}