Membuat API REST dengan Node.js dan Express

Membuat API REST dengan Node.js dan Express

Membuat API REST dengan Node.js dan Express
7 min read

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.

Recommended for you