Skip to main content

GraphQL

Recommendation
Updated
Moved
USE
2022-02-09

What is it

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.

When to use it

GraphQL should only be used on a per-application basis and when it makes sense to have an application-specific gateway.

Example of cases when it might make sense:

  • Complex data structures with a lot of hierarchical relations.
  • Data structures with a lot of fields and only a subset might be needed by the clients.

Avoid cross-application dependencies

We currently advise against building separate applications on top of the same GraphQL API, since we are trying to avoid overambitious API gateways with unclear team ownership.

How to learn it

The main GraphQL site has great learning resources for understanding GraphQL independent of any language or framework.