,

Bahasa Indonesia: Tuntunan Membuat Aplikasi RESTful API dengan NodeJS.

Posted by



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!

0 0 votes
Article Rating
20 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Mastika Ketut
7 months ago

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)

Dani Danial
7 months ago

Kalau mau nambahin photo gimana ya mas ??? ada yg bisa bantu ?

Lord Kazuma
7 months ago

pak kalau di di vscode cara koneksi databasenya gimana ya?

Muhammad Dika Haryadi
7 months ago

mau nanya pak, saya masih pemula. itu databasenya kok bisa banyak opsi gtu make extention atau gimana ya??

Abu Aarifa أبو عارفة
7 months ago

Kenapa `Authorization` header nya ga pakai `Bearer ` sebelum token ?

Tnnz
7 months ago

mas eko generate tokennya lebih bagusan mke uuid daripada jwt ya?

indra maulana
7 months ago

[pertanyaan]
1:35:54
balikan dari joi type nya text/html. ada yang bisa bantu jawab?

marion pratt
7 months ago

Pak kalo boleh request buat video test menggunakan mock db

indra maulana
7 months ago

[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

Fadel Muhammad
7 months ago

Ntap

Muzacky Hadiansyah
7 months ago

bagaszzn
7 months ago

Kang mau nanya sekarang bahasa pemrograman yang utama akang pake apa ya?

Bagas Anggara
7 months ago

pak eko, bedanya kursus yg di youtube dan udemy apa ya ? nuhun

Alwy_Cheezy
7 months ago

Wow style koding yang sangat berbeda ketika membuat REST API, saya aja bingung baru pernah liat koding style ginian buat rest api

Putra Ramadhan
7 months ago

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 🙏🙏

Muhammad Ma'sum
7 months ago

kang bikin load, smoke test dong kang pake grafana k6

Alex Marco
7 months ago

🎉

10. Lea Alyu Maulana R
7 months ago

Bikin turorial Djago untuk pemula sampai mahir pakk, sepertinya banyak yang mau belajar Djago

Zuzz Ubaid
7 months ago

kelas LARAVEL DATABASE kapan tayangnya? udah ditunggu kelas berbayar😁

Kyouma Kazuhito
7 months ago

Kang, apakah jika projectnya besar (misal ada lebih dari 40 tabel) akan dalam 1 file schema.prisma ? best pratice nya seperti apa ya kang