GraphQL

term

web devprogramming

A query language for interfaces where the caller specifies exactly which fields it wants, in one request.

It solves a real problem - clients fetching too much or making several round trips - by moving the shape of the response into the caller's hands. That inversion is also the security change: authorisation can no longer be checked per endpoint, because there is effectively one endpoint and the caller composes the query. Checks have to live at the field and object level, and a deeply nested query is a resource question as well, which is why depth limits and cost analysis are part of running it rather than refinements.

All glossary entries