Membuat REST API dengan Express JS + MySQL di NodeJS - Halo semua, pada artikel kali ini kita akan belajar tutorial membuat REST API dengan menggunakan Express JS dan database MySQL. REST API bisa dibilang simplenya, sebuah server yang akan mengirimkan hasil berupa response JSON Show Pada artikel kali ini kita akan membuat sebuah rest api dari express js dengan menggunakan pattern controller dan route. Sebelum masuk ke tutorialnya, kita perlu menyiapkan endpoint design dari rest api kita. Pada kesempatan kali ini, kita akan mencoba membuat sebuah rest api dengan database sekolah dan tabel siswa. Tentu saja fungsinya adalah CRUD ( Create - Read - Update - Delete ) siswa di database tersebut Di tutorial membuat rest api dengan express js ini, kita akan membuat design endpoint seperti berikut DAPATKAN /siswa POS /siswa PUT /siswa/. Indo HAPUS /siswa/. Indo Yang mana GET merupakan metode untuk mendapatkan list collection dari siswa, POST adalah metode untuk mengirimkan data / menambah data, PUT adalah metode untuk mengupdate data, dan DELETE adalah metode HTTP untuk menghapus data Ya, sampai disini kita sudah berhasil menyiapkan design endpoint dari aplikasi rest api yang akan kita buat databaseKita akan membuat rest api dengan database sekolah. Maka kita buat database bernama db_school dan table bernama t_students dengan struktur tabel seperti berikut Instalasi Express JS dan MysqlSetelah kita berhasil menyiapkan design endpointnya, saatnya kita menyiapkan environment dari aplikasi yang akan kita buat Pertama, buatlah sebuah folder baru, kalian bisa beri nama siswajs Kemudian buka di VSCode atau arahkan terminal ke folder tersebut, kemudian jalankan perintah
Nanti kalian bisa enter-enter saja, sampai jadi satu file baru bernama package. json Berisikan seperti ini, { "nama". "siswajs" ,< "versi". "1. 0. 0" , "deskripsi". "" , "utama". "indeks. js" , "skrip". { "tes". "gema \"Kesalahan. tidak ada pengujian yang ditentukan\" && keluar 1" }, "penulis". "" , "lisensi". "ISC" }
Sampai disini kalian sudah berhasil menginstal npm di folder kalian Selanjutnya mari lanjut menginstall express js dan mysql ke dalam aplikasi nya
Untuk menginstall express js,
Untuk menginstall mysql dan middleware Sampai disini kalian sudah berhasil menginstall module node yang kita perlukan di tutorial membuat rest api dengan express js + mysql ini rekaman Susunan FolderSetelah itu kita perlu menyiapkan beberapa susunan folder seperti config, controller dan route di aplikasi kita Buatlah folder-folder di atas dan juga siapkan 1 file bernama index. js. Seperti di bawah ini Membuat Koneksi FileSilahkan kalian buat satu file baru bernama connection. js di konfigurasi folder. File ini berfungsi untuk menampung class connection mysql yang nantinya akan kita export ke modul / file js lainnya const mysql = memerlukan('mysql') const koneksi = mysql.buatKoneksi ({ host . 'localhost' ,< pengguna . 'akar' ,< sandi . '' , database . 'db_school' }) modul . ekspor = koneksi
Sesuaikan konfigurasinya dengan konfig database kalian jika berbeda modul. export merupakan baris perintah pada common js untuk mengexport sebuah variabel di suatu file. Nantinya file ini akan bersifat sebagai modul dan variabel tersebut bisa diimport dari file lain Membuat PengontrolKonfigurasi dan buatlah sebuah file baru bernama siswaController. js di pengontrol folder. Nantinya file ini akan bertindak sebagai core transaksi data dari aplikasi kita Isilah dengan kode berikut, dan jangan lupa untuk mengimport connection const koneksi = require("../config/connection" ); ekspor . getUsers = async (req, res) => { biarkan data = []; coba { mari sql = "select * from t_students"; const exec = connection.kueri (sql, fungsi ( err, rows, fields) { jika ( err ) throw err; res . json ({ status . benar , data . baris , msg . "Halo" ,< }); }); } tangkap (kesalahan) { kembalikan res . json ({ status . salah , msg . kesalahan. pesan, }); } }; ekspor . insertUser = async (req, res) => { coba { const body = req.body; berikan nama = body.name; mari berumur = body.age; mari jenis kelamin = body.gender; mari sql = `insert into t_students(name,age,gender) values (?, ?, ?) `; 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.params.id; const body = req.body; berikan nama = body.name; mari berumur = body.age; mari jenis kelamin = body.gender; mari sql = `update t_students set name=?, age=?, gender=? where id=? `; biarkan nilai = [nama, umur, jenis kelamin id]; koneksi . kueri (sql, nilai, fungsi ( err, rows, fields) { jika ( err ) throw err; jika ( baris . yang terpengaruhRows > 0 ) { msg = "Berhasil Memperbarui"; } selain itu { msg = "Tidak ada entri yang diperbarui"; } res . json ({ status . benar , msg . msg, }); }); } tangkap (kesalahan) { kembalikan res . json ({ status . salah , msg . kesalahan. pesan, }); } }; ekspor . deleteUser = async (req, res) => { coba { const id = req.params.id; mari sql = ` delete from t_students where id = ${id} `; koneksi . kueri (sql, fungsi ( err, rows, fields) { jika ( err ) throw err; biarkan msg = ""; jika ( baris . yang terpengaruhRows > 0 ) { msg = "Berhasil Menghapus"; } selain itu { msg = "Tidak ada entri yang dihapus"; } res . json ({ status . benar , msg . msg, }); }); } tangkap (kesalahan) { res . json ({ status . benar , msg . kesalahan. pesan, }); } }; Membuat File RouterSetelah membuat controller dan config nya, kita lanjut membuat router nya atau file yang akan di redirect ke fungsi mana sebuah request yang masuk Buat file baru bernama siswaRouter. js di folder router, const ekspresikan = require('express') const siswaController = memerlukan('../controller/siswaController' ) const router = express.Router () router . dapatkan ( '/' . getUsers), siswaController.getUsers) router . postingan ( '/' . insertUser), siswaController.insertUser) router . masukkan ( '/. adalah' , siswa Controller. updateUser) router . hapus ( '/. adalah' , siswa Controller. hapusPengguna) modul . ekspor = router menangkap File Core Index. jsIndeks. js merupakan file core yang bertindak sebagai file paling depan di aplikasi kita const ekspresikan = require('express') const cors = require('cors') const siswaRoute = require('./route/siswaRouter' ) const aplikasi = express() const port = 3000 // middleware aplikasi . gunakan ( cors ()); aplikasi . gunakan ( ekspresikan . json ()); aplikasi . gunakan ( '/siswa', siswaRoute) aplikasi . dengarkan ( port , () =>{ konsol . log ( `Mendengarkan di port ${port}`); }) Sampai disini kita sudah berhasil membuat rest api express js dan mysqlnya, lanjut kita akan mencobanya Jalankan aplikasi kita dengan memasukkan perintah
di terminal Pengetesan tukang posTidak afdol jika kita tidak melakukan pengujian terhadap rest api yang kita buat barusan. Buka POSTMAN kalian untuk melakukan pengujian rest api kita Metode DAPATKAN / Ambil DataMetode POST / Tambah DataMetode PUT / Perbarui DataMetode HAPUS / Hapus DataYaaaa, selamat sampai sini kita sudah berhasil membuat REST API dengan Express JS+MySQL di Node di tahun 2021. Semoga tutorial kali ini bermanfaat untuk kita semua. Senang bisa membantu, Terima kasih sampai jumpa di artikel selanjutnya. ) |