Software Engineering ยท APIs & Systems
A query language for APIs where the client specifies exactly what data it needs, and the server returns exactly that โ nothing more, nothing less.
Example: A mobile client fetches only `user.name` and `user.avatar` instead of the full user object a REST endpoint would return.
In practice: Solves over-fetching and under-fetching cleanly, but introduces complexity on the server side โ schema design, resolver performance, and the N+1 query problem all need deliberate handling.
Debated: Often introduced to solve a problem (field flexibility) that API versioning or query parameters would have solved more simply โ the tooling and mental model overhead is non-trivial.