Tutorial NodeJS RESTful API
Node.js adalah platform yang dibangun diatas JavaScript yang ideal untuk membangun aplikasi jaringan yang cepat dan efisien. Dalam tutorial ini, kita akan belajar bagaimana membuat API RESTful dengan menggunakan Node.js.
Sebelum memulai, pastikan Anda sudah menginstal Node.js di komputer Anda. Jika belum, Anda dapat mengunduhnya dari situs resmi Node.js dan mengikuti petunjuk instalasinya.
Langkah pertama dalam membuat API RESTful adalah membuat folder proyek baru. Buka terminal atau command prompt, lalu ketikkan perintah berikut:
“`html
mkdir tutorial-api
cd tutorial-api
“`
Setelah berhasil membuat folder proyek baru, buat file package.json dengan menjalankan perintah berikut:
“`html
npm init -y
“`
File package.json akan digunakan untuk mengelola dependensi proyek. Setelah file package.json dibuat, kita dapat menginstall Express, sebuah framework Node.js yang sangat populer untuk membuat aplikasi web, dengan menjalankan perintah berikut:
“`html
npm install express
“`
Selanjutnya, buat file server.js dan tuliskan kode berikut:
“`html
const express = require(‘express’);
const app = express();
const PORT = 3000;
app.get(‘/’, (req, res) => {
res.send(‘Hello World!’);
});
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
“`
Perlu diingat bahwa kode di atas adalah contoh sederhana untuk menjalankan server Express pada port 3000 dan memberikan respon “Hello World!” ketika mengakses root URL (‘/’).
Simpan perubahan dan jalankan server dengan menjalankan perintah berikut:
“`html
node server.js
“`
Buka browser dan akses http://localhost:3000, Anda akan melihat pesan “Hello World!”.
Sekarang kita akan membuat API endpoint untuk operasi CRUD (Create, Read, Update, Delete) pada data. Tambahkan kode berikut di bawah kode sebelumnya dalam file server.js:
“`html
let data = [
{ id: 1, name: ‘John Doe’ },
{ id: 2, name: ‘Jane Smith’ },
{ id: 3, name: ‘Bob Johnson’ },
];
// Mendapatkan semua data
app.get(‘/api/data’, (req, res) => {
res.json(data);
});
// Mendapatkan data berdasarkan ID
app.get(‘/api/data/:id’, (req, res) => {
const id = Number(req.params.id);
const result = data.find((item) => item.id === id);
if (result) {
res.json(result);
} else {
res.status(404).json({ message: ‘Data not found’ });
}
});
// Menambah data
app.post(‘/api/data’, (req, res) => {
const item = req.body;
data.push(item);
res.status(201).json(item);
});
// Mengupdate data
app.put(‘/api/data/:id’, (req, res) => {
const id = Number(req.params.id);
const item = req.body;
const index = data.findIndex((item) => item.id === id);
if (index !== -1) {
data[index] = item;
res.json(item);
} else {
res.status(404).json({ message: ‘Data not found’ });
}
});
// Menghapus data
app.delete(‘/api/data/:id’, (req, res) => {
const id = Number(req.params.id);
const index = data.findIndex((item) => item.id === id);
if (index !== -1) {
const item = data.splice(index, 1);
res.json(item);
} else {
res.status(404).json({ message: ‘Data not found’ });
}
});
“`
Dalam kode di atas, kita menambahkan endpoint untuk mendapatkan semua data (‘/api/data’), mendapatkan data berdasarkan ID (‘/api/data/:id’), menambahkan data baru (‘/api/data’), mengupdate data (‘/api/data/:id’), dan menghapus data (‘/api/data/:id’). Yang belum dijelaskan adalah bagaimana mengirim data dari aplikasi klien ke server. Untuk tujuan ini, kita akan menggunakan Postman, sebuah aplikasi untuk menguji API.
Buka Postman, buat request baru dengan URL http://localhost:3000/api/data, dan atur metode request sebagai POST. Pada tab ‘Body’, pastikan Anda memilih ‘raw’ dan format ‘JSON’. Tuliskan objek JSON berikut sebagai contoh:
“`html
{
“id”: 4,
“name”: “Alice Brown”
}
“`
Klik tombol ‘Send’ dan Anda akan mendapatkan respons berupa objek JSON yang sama dengan yang Anda kirimkan.
Sekarang kita telah berhasil membuat API RESTful dengan Node.js. Andai artikel ini membantu Anda dalam memahami dasar-dasar pembuatan API RESTful menggunakan Node.js. Selamat mencoba!
sebaiknya validation di buat function spt di tutorial ini, yg mana di panggil di setiap service
atau di buat middleware aja ya mas? jd di panggil di route..
contoh penggunaan misalnya: route.get("api/user", [validate(schema)], getUser)
Kalau mau nambahin photo gimana ya mas ??? ada yg bisa bantu ?
pak kalau di di vscode cara koneksi databasenya gimana ya?
mau nanya pak, saya masih pemula. itu databasenya kok bisa banyak opsi gtu make extention atau gimana ya??
Kenapa `Authorization` header nya ga pakai `Bearer ` sebelum token ?
mas eko generate tokennya lebih bagusan mke uuid daripada jwt ya?
[pertanyaan]
1:35:54
balikan dari joi type nya text/html. ada yang bisa bantu jawab?
Pak kalo boleh request buat video test menggunakan mock db
[pertanyaan]
saya mengalami problem testing yang ketika saya trace ternyata balikan dari supertestnya selalu 404. saya coba browse ternyata banyak hal serupa yang dialami, btw saya pakai linux. ada yang punya solusi?
mohon pencerahanya
Ntap
❤
Kang mau nanya sekarang bahasa pemrograman yang utama akang pake apa ya?
pak eko, bedanya kursus yg di youtube dan udemy apa ya ? nuhun
Wow style koding yang sangat berbeda ketika membuat REST API, saya aja bingung baru pernah liat koding style ginian buat rest api
Mas kalo boleh memberikan saran, setelah penjelasan video dan materi yang di beberkan agar pemula seperti saya ga bingung dan ga gampang lupaa, coba tolong kasih tugas sesuai materi di setiap video, sudah sangat lengkap sekali videonya dan sangat sangat membantu terima kasih sekali lagi 🙏🙏
kang bikin load, smoke test dong kang pake grafana k6
🎉
Bikin turorial Djago untuk pemula sampai mahir pakk, sepertinya banyak yang mau belajar Djago
kelas LARAVEL DATABASE kapan tayangnya? udah ditunggu kelas berbayar😁
Kang, apakah jika projectnya besar (misal ada lebih dari 40 tabel) akan dalam 1 file schema.prisma ? best pratice nya seperti apa ya kang