Introduction to GraphQL
Query language
GraphQL is a query language for API's. It's query language can pull multiple objects of different types, with less queries that would be needed using REST.
Where else is GraphQL used? Facebook, GitHub
What does GraphQL do?
REST API's follow a concept of architectural constraints. The classic API is multiple endpoints for various resources alongside GET
, POST,
PUT
and DELETE
.
GraphQL on the other hand usually has one endpoint, always GET
or POST
. The magic is in the query passed in the post data.
Assume the following:
Response:
A couple things:
The query to a single endpoint, via
GET
(?query=...
) orPOST
(viaPOST
data)The response is JSON
The response structure matches the query
What's more is, GraphQL schemas enforce a structured, typed API, and provides instrumentation. This can best be put into example by seeing GraphiQL - a client for graphql - with the query above:
Core concepts
Queries and Mutations:
Query: Usually reading
Mutation: Usually create, updating or deleting
Basics
Advanced
Variables: Optional parametrization
Fragments: Repeatable pieces of query
Pagination: Traverse through lists of data
Last updated