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.