GraphQL

GraphQL is a query language for your API, and a server-side runtime for executing queries using a type system you define for your data. GraphQL isn’t tied to any specific database or storage engine and is instead backed by your existing code and data.

Example

Describe your data

type Project struct {
  Name string
  Tagline string
  Contributors []User
}

Ask for what you want

{
  project(name: "GraphQL") {
    Tagline
  }
}

Get predictable results

{
  "project": {
    "Tagline": "A query language for APIs"
  }
}

Further Reading