REST API (Representational State Transfer Application Programming Interface) adalah cara standar agar aplikasi bisa saling berkomunikasi melalui HTTP.
Hampir semua aplikasi modern—web, mobile, hingga IoT—menggunakan REST API sebagai jembatan data.
REST API memungkinkan:
- frontend dan backend terpisah
- data diakses dari berbagai platform
- sistem lebih fleksibel dan scalable
Di Node.js, REST API paling sering dibangun menggunakan Express.js.
Contents
- 1 Konsep Dasar REST API yang Wajib Dipahami
- 2 HTTP Method dalam REST API
- 3 Struktur Proyek REST API Sederhana
- 4 Membuat Server REST API Dasar
- 5 Membuat Data Dummy untuk API
- 6 Membuat Endpoint GET (Read Data)
- 7 Membuat Endpoint GET by ID
- 8 Membuat Endpoint POST (Create Data)
- 9 Membuat Endpoint PUT (Update Data)
- 10 Membuat Endpoint DELETE (Hapus Data)
- 11 Standar Response REST API yang Baik
- 12 Testing REST API Menggunakan Postman
- 13 Kesalahan Umum dalam REST API Pemula
- 14 Kesimpulan
- 15 Related Posts
Konsep Dasar REST API yang Wajib Dipahami
REST API tidak rumit, tapi harus konsisten. Prinsip utamanya:
- Resource direpresentasikan oleh URL
- HTTP Method menentukan aksi
- Response biasanya dalam format JSON
Contoh resource:
/users
/products
/orders
HTTP Method dalam REST API
Setiap method memiliki fungsi jelas.
GET → mengambil data
POST → menambah data
PUT → mengubah data
DELETE → menghapus data
Contoh yang benar:
GET /users
POST /users
GET /users/1
PUT /users/1
DELETE /users/1
Struktur Proyek REST API Sederhana
Struktur rapi sejak awal sangat penting.
rest-api/
├── index.js
├── routes/
│ └── userRoutes.js
├── data/
│ └── users.js
├── package.json
Struktur ini memisahkan routing dan data agar mudah dikembangkan.
Membuat Server REST API Dasar
import express from "express";
const app = express();
app.use(express.json());
app.listen(3000, () => {
console.log("API berjalan di http://localhost:3000");
});
Server siap menerima request API.
Membuat Data Dummy untuk API
// data/users.js
const users = [
{ id: 1, name: "Andi" },
{ id: 2, name: "Budi" }
];
export default users;
Data dummy digunakan untuk latihan sebelum ke database.
Membuat Endpoint GET (Read Data)
import users from "../data/users.js";
app.get("/users", (req, res) => {
res.json(users);
});
Endpoint ini mengembalikan semua data user.
Membuat Endpoint GET by ID
app.get("/users/:id", (req, res) => {
const id = Number(req.params.id);
const user = users.find(u => u.id === id);
if (!user) {
return res.status(404).json({
message: "User tidak ditemukan"
});
}
res.json(user);
});
Contoh ini menunjukkan validasi data sederhana.
Membuat Endpoint POST (Create Data)
app.post("/users", (req, res) => {
const newUser = {
id: users.length + 1,
name: req.body.name
};
users.push(newUser);
res.status(201).json(newUser);
});
POST digunakan untuk menambah data baru.
Membuat Endpoint PUT (Update Data)
app.put("/users/:id", (req, res) => {
const id = Number(req.params.id);
const user = users.find(u => u.id === id);
if (!user) {
return res.status(404).json({
message: "User tidak ditemukan"
});
}
user.name = req.body.name;
res.json(user);
});
PUT digunakan untuk memperbarui data.
Membuat Endpoint DELETE (Hapus Data)
app.delete("/users/:id", (req, res) => {
const id = Number(req.params.id);
const index = users.findIndex(u => u.id === id);
if (index === -1) {
return res.status(404).json({
message: "User tidak ditemukan"
});
}
users.splice(index, 1);
res.json({
message: "User berhasil dihapus"
});
});
DELETE digunakan untuk menghapus resource.
Standar Response REST API yang Baik
Response API sebaiknya:
- konsisten
- jelas
- memiliki status code
Contoh response yang baik:
{
"success": true,
"data": {...}
}
Ini memudahkan frontend membaca respon.
Testing REST API Menggunakan Postman
REST API sebaiknya diuji menggunakan:
- Postman
- Insomnia
- Thunder Client (VS Code)
Testing membantu memastikan semua endpoint berjalan sesuai rencana.
Kesalahan Umum dalam REST API Pemula
Kesalahan yang sering terjadi:
- URL tidak konsisten
- status code diabaikan
- validasi data kurang
Memperbaiki ini sejak awal akan sangat membantu ke depannya.
Kesimpulan
REST API adalah fondasi backend modern. Dengan Express.js, kita bisa:
- membuat API dengan cepat
- menjaga struktur tetap rapi
- mengembangkan aplikasi secara bertahap
Bab ini menjadi dasar sebelum masuk ke database, autentikasi, dan deployment.