GraphQL
GraphQL is a query language and runtime for APIs that gives clients the power to request exactly the data they need. Instead of multiple REST endpoints, GraphQL exposes a single endpoint with a strongly-typed schema. Clients write queries that mirror the shape of the response they want, eliminating over-fetching and under-fetching problems common with REST.
Key Strengths
- Clients request exactly what they need — no over-fetching or under-fetching
- Single endpoint simplifies API surface and reduces network requests
- Strongly typed schema serves as self-documenting API contract
- Real-time subscriptions built into the specification
- Excellent developer tools (GraphiQL, Apollo DevTools, Relay)