Query Flexibility vs. Server Optimization Trade-off¶
Client-specified queries (field selection, nested fetching) shift query optimization from server to client, trading server-side optimization opportunities for client-side flexibility - this is the fundamental REST vs. GraphQL tension.
Tension Addressed¶
Flexibility vs. Simplicity
Recognizable As¶
Field selection parameters, GraphQL-style queries, sparse fieldsets, expand/embed parameters, the N+1 query problem, query complexity limits
Canonical Sources¶
GraphQL specification (2015); "API Design Patterns" - Geewax (2021)
Transfers To¶
Database query languages, Report builders, Search interfaces, Configuration systems, Any "specify what you want" interface
Neither approach wins universally: fixed endpoints enable aggressive server optimization and caching; flexible queries enable client efficiency and reduce round-trips. The choice depends on use case diversity and performance requirements.