APIs are like waiters in a restaurant. 🍜 The client (frontend/mobile app) gives a request, the server processes it, and the API delivers the response back.
In web development, REST APIs are one of the most common ways for apps to communicate.
What is a REST API?
REST stands for Representational State Transfer.
A REST API follows a set of rules to manage and access resources using HTTP methods.
A resource can be anything:
users
products
posts
comments
Example:
/users
This represents a collection of users.
HTTP Methods in REST
REST APIs mainly use four HTTP methods for CRUD operations.
| Operation | HTTP Method | Example Route |
|---|---|---|
| Read | GET | /users |
| Create | POST | /users |
| Update | PUT | /users/1 |
| Delete | DELETE | /users/1 |
Tiny naming mistake people make:
/getUsers
/createUser
This is not clean REST design because the HTTP method already tells the action. Your route should focus on the resource.
Correct way:
GET /users
POST /users
Your routes should look clean, not like a folder made by a sleep-deprived raccoon at 3AM.
REST Request-Response Flow
Client sends request
Server receives request
Express handles route
Database logic runs
Response is returned
Example:
app.get('/users', (req, res) => {
res.send('All users fetched');
});
CRUD Example Using Express.js
const express = require('express');
const app = express();
app.use(express.json());
// GET users
app.get('/users', (req, res) => {
res.status(200).json({ message: 'Users fetched' });
});
// POST user
app.post('/users', (req, res) => {
res.status(201).json({ message: 'User created' });
});
// PUT user
app.put('/users/:id', (req, res) => {
res.status(200).json({ message: 'User updated' });
});
// DELETE user
app.delete('/users/:id', (req, res) => {
res.status(200).json({ message: 'User deleted' });
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
Status Codes Basics
Status codes tell the client what happened.
| Status Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Resource created |
| 400 | Bad request |
| 404 | Resource not found |
| 500 | Server error |
Example:
res.status(404).json({ message: 'User not found' });
Why REST APIs Matter
REST APIs make communication between frontend and backend structured and predictable.
Without proper API design, projects become chaos very quickly:
confusing routes
inconsistent responses
impossible debugging
future-you crying in production
Clean REST design keeps projects scalable and easier to maintain.
Conclusion
REST APIs are the backbone of modern web applications. By following REST principles, using proper HTTP methods, and keeping routes resource-based, developers can build scalable and clean backend systems using Express.js.
Start simple:
/users
/products
/posts
Design around resources, not actions. That single habit already puts you ahead of many beginner backend developers.
Comments
Join the discussionNo comments yet. Be the first to comment.