Learn Programming, Tech & Coding · Free Online Tools

IT Question Answer
Back to How To Guides
How to Build a REST API with Node.js and Express

How to Build a REST API with Node.js and Express

How To Guides3,082 viewsBy Admin
how-tobuildrestnodejsexpress

Advertisement

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

CodeMeaning
200OK
201Created
400Bad Request
404Not Found
500Server 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.

Advertisement