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 helps you to reduce/optimize API instead of creating all methods by all the use cases.
- It makes it easier to aggregate data from multiple sources.
- It uses a type system to describe data.
Example ) Simple query
{ allMembers { members { name } } }
Query Result
{ "data": { "allMembers": { "members": [ { "name": "Chun" }, { "name": "John" }, { "name": "Fred" }, ...
Example 2) Query with condition
members(id: "s20181031xyz") { name title }
Result
{ "data": { "member": { "name": "Kenny", "title": "Senior Software Engineer" } } }
GraphQL supports various programming languages
C# / .NET
Clojure
Elixir
Erlang
Go
Groovy
Java
JavaScript
PHP
Python
Scala
Ruby
You can see some same codes at https://graphql.org/code/ in various programming languages, and reference query example at https://alligator.io/graphql/introduction-graphql-queries/