Menu
📱 Lihat versi lengkap (non-AMP)
Programming

Cara Membuat REST API dengan Express.js

Editor: Hendra WIjaya
Update: 7 January 2026
Baca: 2 menit

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

Bagikan:

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