Menerapkan API di Express.js dengan Restful Services
Dalam artikel ini, kita akan mempelajari cara membuat API menggunakan Express.js dengan pendekatan Restful Services. Restful API memungkinkan aplikasi untuk saling berinteraksi menggunakan HTTP dengan berbagai metode seperti GET, POST, PUT, dan DELETE.
Apa itu Restful API?
REST (Representational State Transfer) adalah gaya arsitektur perangkat lunak yang memanfaatkan HTTP untuk komunikasi antara klien dan server. API yang mengikuti prinsip REST disebut RESTful API. Dengan RESTful API, aplikasi web dan mobile dapat berkomunikasi dengan backend menggunakan HTTP methods yang standar.
Langkah-langkah Membuat RESTful API dengan Express.js
Berikut adalah langkah-langkah untuk membuat RESTful API dengan Express.js:
1. Install Express.js
Langkah pertama adalah menginstal Express.js dan membuat aplikasi dasar. Jika belum memiliki project Node.js, buat terlebih dahulu dengan perintah berikut:
npm init -y
npm install express
2. Membuat Server Express.js
Setelah menginstal Express, buatlah file app.js dan tulis kode berikut untuk memulai server Express:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello, World!');
});
app.listen(port, () => {
console.log(`Server berjalan di http://localhost:${port}`);
});
3. Menambahkan Route untuk RESTful API
Untuk membuat endpoint API yang dapat menerima dan merespons permintaan, kita perlu menambahkan beberapa route untuk metode HTTP.
app.get('/api/users', (req, res) => {
res.json([{ id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Doe' }]);
});
app.post('/api/users', (req, res) => {
const newUser = req.body;
res.status(201).json(newUser);
});
app.put('/api/users/:id', (req, res) => {
const userId = req.params.id;
const updatedUser = req.body;
res.json({ id: userId, ...updatedUser });
});
app.delete('/api/users/:id', (req, res) => {
const userId = req.params.id;
res.status(204).send();
});
Penjelasan Kode
- GET: Mengambil data pengguna dari server. Contoh URL:
/api/users. - POST: Menambahkan pengguna baru ke server. Data pengguna dikirim melalui request body.
- PUT: Memperbarui informasi pengguna yang sudah ada. Diperlukan ID pengguna yang ingin diperbarui.
- DELETE: Menghapus pengguna berdasarkan ID.
Handling Request Body
Untuk menangani data yang dikirim dalam request body, kita perlu menambahkan middleware express.json() agar Express dapat memparsing JSON yang dikirimkan:
app.use(express.json());
Testing API dengan Postman
Untuk menguji API yang kita buat, kita dapat menggunakan Postman atau alat serupa. Berikut adalah cara menguji masing-masing metode:
- GET: Kirim permintaan GET ke
http://localhost:3000/api/usersuntuk mendapatkan data pengguna. - POST: Kirim permintaan POST ke
http://localhost:3000/api/usersdengan body JSON untuk menambah pengguna baru. - PUT: Kirim permintaan PUT ke
http://localhost:3000/api/users/:iddengan body JSON untuk memperbarui pengguna. - DELETE: Kirim permintaan DELETE ke
http://localhost:3000/api/users/:iduntuk menghapus pengguna berdasarkan ID.
Kesimpulan
Dengan menggunakan Express.js, kita dapat dengan mudah membuat RESTful API untuk aplikasi web atau mobile. API ini dapat digunakan untuk berinteraksi dengan database dan melakukan berbagai operasi CRUD (Create, Read, Update, Delete). Pendekatan ini memberikan kemudahan dalam pengembangan aplikasi yang terpisah antara frontend dan backend.