Membuat API dengan NodeJS dan Express
Sebelum memulai, pastikan kamu sudah:
- Menginstal NodeJS menggunakan NVM (baca panduan Instalasi NodeJS menggunakan NVM)
- Memahami dasar-dasar JavaScript (variabel, fungsi, dan objek)
Apa itu API?
API (Application Programming Interface) adalah cara komputer atau program berbicara satu sama lain. Bayangkan API seperti pelayan di restoran:
- Kamu (pengguna) memesan makanan (data)
- Pelayan (API) menerima pesanan dan menyampaikannya ke dapur (server)
- Dapur (server) memproses pesanan
- Pelayan (API) mengantarkan makanan (data) kembali ke kamu
Express: Framework untuk Membuat API
Express adalah alat bantu yang memudahkan kita membuat API dengan NodeJS. Seperti resep masak yang sudah ada langkah-langkahnya, Express menyediakan cara yang mudah untuk membuat API.
Memulai Proyek Express
- Buat folder baru untuk proyekmu:
mkdir api-pertamaku
cd api-pertamaku
- Mulai proyek NodeJS:
npm init -y
- Instal Express:
npm install express
- Buat file
index.js
dan tulis kode pertamamu:
const express = require('express')
const app = express()
// Memberitahu Express untuk membaca data JSON
app.use(express.json())
// Rute pertama - Menyapa pengguna
app.get('/hello', (req, res) => {
res.json({ pesan: 'Halo! Ini API pertamaku' })
})
// Jalankan server di port 3000
app.listen(3000, () => {
console.log('Server berjalan di http://localhost:3000')
})
Mencoba API-mu
- Jalankan server:
node index.js
- Buka browser dan kunjungi: http://localhost:3000/hello
Membuat API CRUD Sederhana
CRUD adalah singkatan dari Create (membuat), Read (membaca), Update (mengubah), dan Delete (menghapus). Mari buat API untuk mengelola daftar tugas sederhana.
// Simpan data di memori (dalam aplikasi nyata, kamu akan menggunakan database)
let tasks = [
{ id: 1, nama: 'Belajar NodeJS', selesai: false }
]
// CREATE - Menambah tugas baru
app.post('/tasks', (req, res) => {
const task = {
id: tasks.length + 1,
nama: req.body.nama,
selesai: false
}
tasks.push(task)
res.json(task)
})
// READ - Mengambil semua tugas
app.get('/tasks', (req, res) => {
res.json(tasks)
})
// UPDATE - Mengubah status tugas
app.put('/tasks/:id', (req, res) => {
const id = parseInt(req.params.id)
const task = tasks.find(t => t.id === id)
if (task) {
task.selesai = req.body.selesai
res.json(task)
} else {
res.status(404).json({ pesan: 'Tugas tidak ditemukan' })
}
})
// DELETE - Menghapus tugas
app.delete('/tasks/:id', (req, res) => {
const id = parseInt(req.params.id)
tasks = tasks.filter(t => t.id !== id)
res.json({ pesan: 'Tugas berhasil dihapus' })
})
Mencoba API CRUD
Kamu bisa mencoba API-mu dengan berbagai cara:
- Browser (hanya untuk GET request)
- Postman (direkomendasikan untuk pemula)
- cURL di terminal
Contoh penggunaan dengan cURL:
# Mengambil semua tugas
curl http://localhost:3000/tasks
# Menambah tugas baru
curl -X POST http://localhost:3000/tasks \
-H "Content-Type: application/json" \
-d '{"nama": "Belajar Express"}'
# Mengubah status tugas
curl -X PUT http://localhost:3000/tasks/1 \
-H "Content-Type: application/json" \
-d '{"selesai": true}'
# Menghapus tugas
curl -X DELETE http://localhost:3000/tasks/1
Kesimpulan
Sekarang kamu sudah bisa membuat API sederhana dengan Express! Beberapa hal yang telah kamu pelajari:
- Apa itu API dan bagaimana cara kerjanya
- Cara membuat server menggunakan Express
- Membuat endpoint API untuk operasi CRUD
- Cara menguji API-mu
Langkah Selanjutnya
- Pelajari cara koneksi ke MySQL
- CRUD dengan MySQL
Sumber Belajar Tambahan
Last updated on