Engineering
GraphQL
GraphQL is a query language and runtime for APIs in which the client specifies the exact structure of the data it requires, and the server returns precisely that shape in a single response.
It eliminates over-fetching and reduces round trips, which is why it suits mobile clients and complex nested views.
The costs are real: caching is harder than with REST, arbitrary query depth creates performance risk, and the server implementation is considerably more involved.