GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
Documentation
Strict REST and
ad hoc endpoints
/users
/users/gurra
/items
Data
Loader
Cache
Cache
/graphql
GraphiQL
auth
compression
persisted queries
schema
...gives clients the power to ask for exactly what they need and nothing more
query {
user {
id,
name
}
}
user: [{
id: "3",
name: "kits"
}]GraphQL is a query language for APIs
per field, not per url
GraphQL provides a complete and understandable description of the data in your API
...and enables powerful developer tools
JSON => GZIP
Accept-Encoding: gzip...makes it easier to evolve APIs over time
@deprecated
Design the product v2.0, not the api v2.0