Salin dan Bagikan
Cara Membuat REST API dengan Express.js - Panduan lengkap cara membuat REST API dengan Express.js untuk backend development

Cara Membuat REST API dengan Express.js

Express.js adalah minimal Node.js framework yang populer untuk building REST APIs. Mari pelajari cara membuatnya.

Setup Project

Initialize Project

# Create directory
mkdir my-api && cd my-api

# Initialize npm
npm init -y

# Install Express
npm install express

Basic Server

// index.js
const express = require("express");
const app = express();
const PORT = 3000;

// Middleware
app.use(express.json());

app.get("/", (req, res) => {
  res.json({ message: "Welcome to API" });
});

app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

CRUD Operations

GET - Read Data

// Get all items
app.get("/api/users", (req, res) => {
  res.json(users);
});

// Get single item
app.get("/api/users/:id", (req, res) => {
  const user = users.find((u) => u.id === parseInt(req.params.id));
  if (!user) return res.status(404).json({ error: "User not found" });
  res.json(user);
});

POST - Create Data

app.post("/api/users", (req, res) => {
  const { name, email } = req.body;

  if (!name || !email) {
    return res.status(400).json({ error: "Name and email required" });
  }

  const newUser = {
    id: users.length + 1,
    name,
    email,
  };

  users.push(newUser);
  res.status(201).json(newUser);
});

PUT - Update Data

app.put("/api/users/:id", (req, res) => {
  const user = users.find((u) => u.id === parseInt(req.params.id));
  if (!user) return res.status(404).json({ error: "User not found" });

  const { name, email } = req.body;
  user.name = name || user.name;
  user.email = email || user.email;

  res.json(user);
});

DELETE - Remove Data

app.delete("/api/users/:id", (req, res) => {
  const index = users.findIndex((u) => u.id === parseInt(req.params.id));
  if (index === -1) return res.status(404).json({ error: "User not found" });

  users.splice(index, 1);
  res.status(204).send();
});

Middleware

Custom Middleware

// Logger middleware
const logger = (req, res, next) => {
  console.log(`${req.method} ${req.url} - ${new Date().toISOString()}`);
  next();
};

app.use(logger);

Error Handling

// Error handler middleware
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).json({ error: "Something went wrong!" });
});

Router Organization

Separate Routes

// routes/users.js
const express = require("express");
const router = express.Router();

router.get("/", getAllUsers);
router.get("/:id", getUserById);
router.post("/", createUser);
router.put("/:id", updateUser);
router.delete("/:id", deleteUser);

module.exports = router;

Use Router

// index.js
const userRoutes = require("./routes/users");
app.use("/api/users", userRoutes);

CORS Setup

Enable CORS

npm install cors
const cors = require("cors");
app.use(cors());

Environment Variables

Using dotenv

npm install dotenv
require("dotenv").config();
const PORT = process.env.PORT || 3000;

Kesimpulan

Express.js menyediakan foundation yang solid untuk building REST APIs dengan minimal boilerplate dan maximum flexibility.

Artikel Terkait

Link Postingan : https://www.tirinfo.com/cara-membuat-rest-api-express-js/

Hendra WIjaya
Tirinfo
2 minutes.
7 January 2026