Membuat Basic REST API dengan Express.js (Node.js) dan MySQL
REST API (Representational State Transfer Application Programming Interface) adalah metode komunikasi antara sistem, yang digunakan untuk mengakses dan mengelola data. Dalam artikel ini, kita akan belajar tentang cara membuat REST API sederhana menggunakan Express.js (framework web Node.js) dan MySQL sebagai database.
Sebelum kita mulai, pastikan bahwa Anda telah menginstal Node.js secara lokal di komputer Anda dan juga telah menginstal MySQL. Jika belum, Anda bisa mengunjungi situs resmi Node.js dan MySQL untuk mengunduh dan menginstal perangkat lunaknya.
Langkah pertama adalah membuat sebuah direktori baru dan masuk ke dalam direktori tersebut melalui terminal. Setelah itu, inisialisasikan proyek Node.js dengan menjalankan perintah berikut:
“`
$ npm init
“`
Langkah ini akan membuat sebuah file `package.json` yang akan menyimpan informasi tentang proyek Anda.
Selanjutnya, kita akan menginstal Express.js dan beberapa pustaka tambahan yang dibutuhkan menggunakan perintah berikut:
“`
$ npm install express mysql body-parser –save
“`
Express.js adalah framework web yang akan kita gunakan untuk membangun REST API. MySQL adalah database yang akan kita gunakan untuk menyimpan data. Dan body-parser adalah pustaka yang akan membantu kita untuk memparsing permintaan HTTP.
Setelah pustaka-pustaka terinstal, buat sebuah file dengan nama `server.js` di dalam direktori proyek Anda. Dalam file ini, kita akan menulis kode untuk membuat REST API.
Pertama-tama, impor pustaka-pustaka yang akan kita butuhkan:
“`javascript
var express = require(‘express’);
var bodyParser = require(‘body-parser’);
var mysql = require(‘mysql’);
“`
Kemudian, inisialisasikan aplikasi Express.js:
“`javascript
var app = express();
“`
Selanjutnya, tambahkan parser untuk permintaan JSON dan URL-encoded:
“`javascript
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
“`
Kemudian, kita akan membuat koneksi ke database MySQL:
“`javascript
var connection = mysql.createConnection({
host: ‘localhost’,
user: ‘root’,
password: ‘password’,
database: ‘database_name’
});
connection.connect(function(error) {
if (error) throw error;
console.log(‘Database Connected!’);
});
“`
Pastikan untuk mengganti `host`, `user`, `password`, dan `database_name` sesuai dengan pengaturan MySQL Anda.
Setelah itu, kita dapat membuat endpoint untuk REST API. Misalkan kita ingin membuat endpoint untuk mendapatkan semua data dari tabel “users” dalam database:
“`javascript
app.get(‘/users’, function(req, res) {
connection.query(‘SELECT * FROM users’, function(error, results, fields) {
if (error) throw error;
res.send(results);
});
});
“`
Sekarang, jika kita menjalankan proyek ini dan mengakses `http://localhost:3000/users`, kita akan mendapatkan semua data pengguna dari tabel “users”.
Selain itu, kita juga dapat membuat endpoint untuk menambahkan data ke tabel “users”:
“`javascript
app.post(‘/users’, function(req, res) {
var user = {
name: req.body.name,
email: req.body.email
};
connection.query(‘INSERT INTO users SET ?’, user, function(error, results, fields) {
if (error) throw error;
res.send(results);
});
});
“`
Ini akan menambahkan data pengguna baru ke tabel “users” menggunakan data yang dikirim melalui JSON.
Selain GET dan POST, kita juga dapat membuat endpoint untuk mengedit dan menghapus data pengguna.
Dalam artikel ini, kita telah mempelajari langkah-langkah dasar untuk membuat REST API sederhana menggunakan Express.js (Node.js) dan MySQL. Anda sekarang dapat melanjutkan untuk mengembangkan REST API dengan fitur-fitur lain seperti autentikasi, validasi data, dan lainnya.
selanjutnya kemana nih mas
Kak dulu angkatan brp ya di IPB
Jazakallahu Khairan pak, atas ilmunya semoga berkah!
hebat sekali materinya …Terima kasih banyak
Terima kasih kang… ilmunya sangat bermanfaat
btw untuk data migration DB, recommended dari kang prawito biasanya pake apa di express js?
terimakasih ilmu nya pak, mudah dipahami
pak prawito adalah channel yang selalu saya liat selain channel wpu, sehat2 terus pak
menit 31:37 bisa dibuat simple manteman seperti, const { getAllUsers, createNewUser } = require(../controller/user.js)
mantapsss, sangat mudah dipahami. terima kasih pak
terima kasih, sangat bermanfaat
Makasih Banyak Mas
kenapa ya saat menggunakan dbPool.execute(), itu tidak ada fungsi next() setelahnya? terima kasih
maaf pak, apakah express mysql query seperti ini create table nya g bisa lewat codingan pak? spert migrate?
bagus setelah nonton tutorial ini slanjut belajar apa lagi yh di vidio pak prawito hudoro?
amat sangat berguna pak trimakasi skrg saya lumayan paham konsep rest api
terimakasih penjelasannya mudah untuk diikuti
2 jam yg sangat bermanfaat. Materinya daging tapi disampaikan dengan cara yg sangat mudah dipahami. Sehat selalu pak, semoga bisa kenalan one day👍👍🙏
Kenapa ya kita pakai parameter padahal kan bisa saja kalau kita tulis yg nau kita taro di parameter di request body
halo , izin bertanya. knp saya tidak dapat akses mysql nya ya. pesan error nya seperti nini "Access denied for user ''@'localhost' (using password: YES)"
Thanksss banget. makin paham disini