Tech Radar · caution
GraphQL for internal APIs
Real cost for marginal benefit when one team owns both ends of the wire.
- Ring
- caution
- What that means
- Wary — avoiding by default.
- Movement
- Avoid
GraphQL for internal APIs has a real cost for marginal benefit when one team owns both ends of the wire. The pitch — clients fetch exactly what they need — matters most when many independent consumers hit the same API. When the frontend and backend ship together, that flexibility is mostly unused.
What it does cost: a resolver layer to maintain, N+1 query problems that need their own tooling to catch, and a caching story that’s meaningfully harder than an HTTP cache in front of a REST endpoint.
Reaching for typed REST — an OpenAPI schema with generated clients — covers the same “know what shape the response is” goal at a fraction of the operational cost, for the specific case of one team, one API, one set of consumers.