How to Build a REST API with Node.js and Express
Advertisement
Ad
Build a REST API in Minutes
Express is the most popular Node.js web framework. This guide builds a working CRUD API from scratch.
Step 1: Setup
mkdir my-api && cd my-api
npm init -y
npm install express
Step 2: Basic Server
const express = require("express");
const app = express();
app.use(express.json()); // parse JSON bodies
app.listen(3000, () => console.log("API on :3000"));
Step 3: CRUD Routes
let users = [{ id: 1, name: "Sara" }];
// READ all
app.get("/users", (req, res) => res.json(users));
// READ one
app.get("/users/:id", (req, res) => {
const user = users.find(u => u.id === +req.params.id);
if (!user) return res.status(404).json({ error: "Not found" });
res.json(user);
});
// CREATE
app.post("/users", (req, res) => {
const user = { id: Date.now(), ...req.body };
users.push(user);
res.status(201).json(user);
});
// UPDATE
app.put("/users/:id", (req, res) => {
const i = users.findIndex(u => u.id === +req.params.id);
users[i] = { ...users[i], ...req.body };
res.json(users[i]);
});
// DELETE
app.delete("/users/:id", (req, res) => {
users = users.filter(u => u.id !== +req.params.id);
res.status(204).end();
});
Step 4: HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 201 | Created |
| 400 | Bad Request |
| 404 | Not Found |
| 500 | Server Error |
FAQs
Express or Fastify?
Express is the standard with the biggest ecosystem. Fastify is faster and more modern. Start with Express.
How do I connect a database?
Use Mongoose for MongoDB or Prisma for SQL. More in our how-to guides.
