Concept Flow - REST vs GraphQL awareness
Client sends request
REST API Endpoint
Server processes
Send fixed data
Client receives
Shows how client requests go to REST or GraphQL endpoints, and how servers respond with fixed or flexible data.
const express = require('express'); const app = express(); // REST endpoint app.get('/users', (req, res) => { res.json([{ id: 1, name: 'Alice' }]); });
| Step | Request Type | Endpoint | Server Action | Response Sent |
|---|---|---|---|---|
| 1 | GET | /users | Return full user list | [{ id: 1, name: 'Alice' }] |
| 2 | POST | /graphql | Parse query, resolve fields | { data: { user: { id: 1, name: 'Alice' } } } |
| 3 | GET | /users?id=1 | Return full user list (no filtering) | [{ id: 1, name: 'Alice' }] |
| 4 | POST | /graphql | Parse query, resolve only requested fields | { data: { user: { name: 'Alice' } } } |
| 5 | N/A | N/A | No more requests | End of trace |
| Variable | Start | After Step 1 | After Step 2 | After Step 4 | Final |
|---|---|---|---|---|---|
| requestType | N/A | GET | POST | POST | N/A |
| endpoint | N/A | /users | /graphql | /graphql | N/A |
| responseData | N/A | [{ id: 1, name: 'Alice' }] | { data: { user: { id: 1, name: 'Alice' } } } | { data: { user: { name: 'Alice' } } } | N/A |
REST vs GraphQL quick view: - REST: Multiple endpoints, fixed data per endpoint - GraphQL: Single endpoint, flexible queries - REST returns full data; GraphQL returns requested fields - REST needs new endpoints for new data shapes - GraphQL queries specify exactly what data is needed