GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
GraphQL is a syntax that describes how to ask for data, and is generally used to load data from a server to a client. GraphQL has three main characteristics:
- It lets the client specify exactly what data it needs.
- It makes it easier to aggregate data from multiple sources.
- It uses a type system to describe data.
| Query Example | Query Result |
|---|---|
{
allFilms {
films {
title
}
}
}
| {
"data": {
"allFilms": {
"films": [
{
"title": "A New Hope"
},
{
"title": "The Empire Strikes Back"
},
{
"title": "Return of the Jedi"
},
...
|
GraphQL supports various programming languages
C# / .NET
Clojure
Elixir
Erlang
Go
Groovy
Java
JavaScript
PHP
Python
Scala
Ruby
You can see the same code at https://graphql.org/code/ in various programming languages.