Membuat API REST dengan Node.js dan Express
Pendahuluan
API REST (Representational State Transfer) digunakan untuk menghubungkan aplikasi frontend dan backend. Dengan Node.js dan Express, Anda dapat membuat API REST dengan cepat dan efisien. Dalam tutorial ini, kita akan membuat API sederhana untuk mengelola data pengguna (Create, Read, Update, Delete).
Langkah-Langkah
1. Persiapan Proyek
a. Pastikan Anda memiliki Node.js terinstal di komputer Anda. Periksa dengan:
node -v npm -v
b. Buat folder proyek baru dan masuk ke dalamnya:
mkdir rest-api-node cd rest-api-node
c. Inisialisasi proyek:
npm init -y
d. Instal Express:
npm install express
2. Struktur Proyek
Buat struktur folder seperti berikut:
rest-api-node/ | |--- index.js # File utama |--- package.json # File konfigurasi
3. Membuat API
Buka file index.js
dan tambahkan kode berikut:
a. Setup Server
const express = require('express'); const app = express(); const port = 3000; // Middleware untuk parsing JSON app.use(express.json()); // Root Endpoint app.get('/', (req, res) => { res.send('Welcome to the User API!'); }); // Jalankan server app.listen(port, () => { console.log(`Server berjalan di http://localhost:${port}`); });
Jalankan server Anda dengan perintah:
node index.js
Kunjungi http://localhost:3000/
untuk melihat output "Welcome to the User API!".
b. Tambahkan Data Dummy
Tambahkan data dummy di atas kode endpoint:
let users = [ { id: 1, name: "John Doe", email: "john@example.com" }, { id: 2, name: "Jane Doe", email: "jane@example.com" } ];
c. Endpoint CRUD
Tambahkan endpoint berikut:
- Mendapatkan Semua Pengguna
app.get('/users', (req, res) => { res.json(users); });
- Mendapatkan Pengguna Berdasarkan ID
app.get('/users/:id', (req, res) => { const user = users.find(u => u.id === parseInt(req.params.id)); if (!user) return res.status(404).send('User not found'); res.json(user); });
- Menambahkan Pengguna Baru
app.post('/users', (req, res) => { const newUser = { id: users.length + 1, name: req.body.name, email: req.body.email }; users.push(newUser); res.status(201).json(newUser); });
- Memperbarui Pengguna
app.put('/users/:id', (req, res) => { const user = users.find(u => u.id === parseInt(req.params.id)); if (!user) return res.status(404).send('User not found'); user.name = req.body.name; user.email = req.body.email; res.json(user); });
- Menghapus Pengguna
app.delete('/users/:id', (req, res) => { const userIndex = users.findIndex(u => u.id === parseInt(req.params.id)); if (userIndex === -1) return res.status(404).send('User not found'); const deletedUser = users.splice(userIndex, 1); res.json(deletedUser); });
Pengujian API
Gunakan Postman atau cURL untuk menguji endpoint:
1. GET /users
Mendapatkan daftar pengguna.
2. GET /users/:id
Mendapatkan detail pengguna berdasarkan ID.
3. POST /users
Tambahkan pengguna baru dengan payload JSON seperti:
{ "name": "Alice", "email": "alice@example.com" }
4. PUT /users/:id
Perbarui pengguna berdasarkan ID dengan payload JSON.
5. DELETE /users/:id
Hapus pengguna berdasarkan ID.
Kesimpulan
Anda telah berhasil membuat API REST sederhana dengan Node.js dan Express. Untuk pengembangan lebih lanjut, Anda dapat menambahkan database (seperti MongoDB atau MySQL) dan fitur otentikasi.