Membuat REST API dengan Express JS + MySQL di NodeJS - Halo semuanya, pada artikel kali ini kita akan belajar tutorial membuat REST API menggunakan Express JS dan database MySQL. REST API bisa dikatakan sederhana, sebuah server yang akan mengirimkan hasil berupa respon JSON
Pada artikel ini kita akan membuat rest api dari express js menggunakan pattern controller dan route. Sebelum masuk ke tutorial, kita perlu menyelesaikan desain endpoint dari rest api kita. Pada kesempatan kali ini kita akan mencoba membuat fire rest dengan database sekolah dan tabel siswa. Tentu fungsinya CRUD [Create-Read-Update-Delete] siswa di database
Dalam tutorial membuat rest api dengan express js ini, kita akan membuat desain endpoint sebagai berikut
DAPATKAN / siswa
POS / mahasiswa
PUT / siswa /. Indo
HAPUS / siswa /. Indo
Dimana GET adalah metode untuk mendapatkan daftar kumpulan dari siswa, POST adalah metode untuk mengirimkan data/menambahkan data, PUT adalah metode untuk mengupdate data, dan DELETE adalah metode HTTP untuk menghapus data
Ya, sejauh ini kita sudah berhasil menyelesaikan desain endpoint dari aplikasi rest api yang akan kita buat
Persiapkan Databasenya
Kami akan membuat fire rest dengan database sekolah. Maka kita buat database bernama db_school dan tabel bernama t_students dengan struktur tabel sebagai berikut
Express JS dan instalasi Mysql
Setelah kita berhasil menyelesaikan desain endpoint, saatnya mempersiapkan environment dari aplikasi yang akan kita buat
Pertama buat folder baru, beri nama siswajs
Kemudian buka di VSCode atau arahkan terminal ke folder itu, lalu jalankan perintahnya
npm init
Kemudian Anda bisa masuk, sampai file baru bernama package dibuat. json
Mengandung sesuatu seperti ini,
{
"nama". "siswajs" ,< /a>
"versi". "1. 0. 0" ,
"deskripsi". "" ,
"utama". "index. js" ,
"skrip". {
"tes". "gema \"Kesalahan. tidak ada pengujian yang ditentukan\" && exit 1"
},
"penulis". "" ,
"lisensi". "ISC"
}
Sampai sekarang Anda telah berhasil menginstal npm di folder Anda
Selanjutnya mari kita lanjutkan install express js dan mysql ke dalam aplikasinya
npm instal ekspres --save
Untuk menginstal js ekspres,
npm install cors body-parser mysql --save
Untuk menginstal mysql dan middleware
Sampai di sini, Anda telah berhasil menginstal modul node yang kita butuhkan dalam tutorial membuat rest api dengan express js + mysql ini
Menyelesaikan Pengaturan Folder
Setelah itu kita perlu menyiapkan beberapa folder seperti config, controller dan route pada aplikasi kita
Buat folder-folder diatas dan siapkan juga file bernama index. js. Seperti di bawah ini
Membuat File Koneksi
Silakan buat file baru bernama koneksi. js di folder konfigurasi. File ini berfungsi untuk menampung kelas koneksi mysql yang akan kita export ke modul/file js lainnya
const mysql = memerlukan['mysql' ]
const koneksi = mysql. buatKoneksi [{
host . 'localhost' ,< /a>
pengguna . 'akar' ,< /a>
sandi . '' ,
database . 'db_school'
}]
modul . ekspor = koneksi
Sesuaikan konfigurasi dengan konfigurasi database Anda jika berbeda
modul. ekspor adalah baris perintah umum js untuk mengekspor variabel dalam file. Nanti file ini akan menjadi modul dan variabelnya bisa di import dari file lain
Membuat Controller
Siapkan dan buat file baru bernama siswaController. js di folder pengontrol. Nanti file ini akan bertindak sebagai inti transaksi data dari aplikasi kita
Isikan kode berikut, dan jangan lupa import koneksinya
const koneksi = membutuhkan [ ". /config/connection" ];
ekspor . getUsers = async [ req , res ] => {
biarkan data = [];
coba {
mari sql = "pilih * dari t_students" ;
const exec = koneksi . kueri [sql, fungsi [ err , baris , bidang ] {
jika [ err ] throw err ;
res . json [{
status . benar ,
data . baris ,
msg . "Halo" ,< /a>
}];
}];
} tangkap [kesalahan] {
kembalikan res . json [{
status . salah ,
msg . kesalahan. pesan,
}];
}
};
ekspor . insertUser = async [ req , res ] => {
coba {
const body = req . tubuh;
berikan nama = tubuh . nama;
mari berumur = tubuh . usia;
mari jenis kelamin = tubuh . jenis kelamin;
mari sql = `masukkan ke nilai t_students[name,age,gender] [?, ?, ?] ` ;
biarkan nilai = [nama, umur, jenis kelamin ];
} tangkap [kesalahan] {
kembalikan res . json [{
status . salah ,
msg . kesalahan. pesan,
}];
}
};
ekspor . updateUser = async [ req , res ] => {
coba {
const id = req . parameter. id;
const body = req . tubuh;
berikan nama = tubuh . nama;
mari berumur = tubuh . usia;
mari jenis kelamin = tubuh . jenis kelamin;
mari sql = `update t_students set name=?, age=?, gender=?;
biarkan nilai = [nama, umur, jenis kelamin , id ];
koneksi . kueri [sql, nilai, fungsi [ err , baris , bidang ] {
jika [ err ] throw err ;
jika [ baris . yang terpengaruhRows > 0 ] {
msg = "Berhasil Memperbarui" ;
} selain itu {
msg = "Tidak ada entri yang diperbarui a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a>" ;
}
res . json [{
status . benar ,
msg . pesan,
}];
}];
} tangkap [kesalahan] {
kembalikan res . json [{
status . salah ,
msg . kesalahan. pesan,
}];
}
};
ekspor . deleteUser = async [ req , res ] => {
coba {
const id = req . parameter. id;
mari sql = `hapus dari t_students where id=${id} ` ;
koneksi . kueri [sql, fungsi [ err , baris , bidang ] {
jika [ err ] throw err ;
biarkan msg = "" ;
jika [ baris . yang terpengaruhRows > 0 ] {
msg = "Berhasil Menghapus" ;
} selain itu {
msg = "Tidak ada entri yang dihapus a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a> a>" ;
}
res . json [{
status . benar ,
msg . pesan,
}];
}];
} tangkap [kesalahan] {
res . json [{
status . benar ,
msg . kesalahan. pesan,
}];
}
};
Buat File Ruter
Setelah membuat pengontrol dan konfigurasinya, kami terus membuat router atau file yang akan mengarahkan ke fungsi mana permintaan masuk
Buat file baru bernama siswaRouter. js di folder router,
const ekspresikan = membutuhkan [ 'ekspres' ]
const studentController = membutuhkan['. /controller/siswaController' ]
const router = ekspres . Router []
router . dapatkan [ '/' , StudentController. getUsers]
router . postingan [ '/' , StudentController. insertUser]
router . masukkan [ '/. id' , studentController. updateUser]
router . hapus [ '/. id' , studentController. hapusPengguna]
modul . ekspor = router
Siapkan File Indeks Inti. js
Indeks. js adalah file inti yang bertindak sebagai file paling depan dalam aplikasi kita
const ekspresikan = membutuhkan [ 'ekspres' ]
const cors = membutuhkan [ 'cors' ]
const studentRoute = perlu [ '. /route/siswaRouter' ]
const aplikasi = ekspres []
const port = 3000
// perangkat menengah
aplikasi . gunakan [ cors []];
aplikasi . gunakan [ ekspresikan . json []];
aplikasi . gunakan [ '/siswa ' , studentRoute ]
aplikasi . dengarkan [ port , [] =>{
konsol . log [ `Mendengarkan di port ${pelabuhan}` ];
}]
Sejauh ini kita sudah berhasil membuat api express js dan mysql rest, selanjutnya kita akan mencobanya
Jalankan aplikasi kita dengan memasukkan perintah
indeks simpul. js
di terminal
Pengujian tukang pos
Tidak afdol rasanya jika tidak menguji fire rest yang baru saja kita buat. Buka POSTMAN Anda untuk menguji rest api kami
Metode DAPATKAN / Ambil Data
Metode POST / Tambah Data
Metode PUT / Perbarui Data
Metode HAPUS / Hapus Data
Yaaaa selamat kita sudah berhasil membuat REST API dengan Express JS+MySQL di Node tahun 2021. Semoga tutorial ini bermanfaat bagi kita semua. Senang bisa membantu, Terima kasih, sampai jumpa di artikel berikutnya. ]