Hallo teman-teman, pada tulisan ini saya ingin berbagi penggalaman tentang membuild sebuah REST API menggunakan bahasa Javascript dengan framework Express Js.
Pertama-tama pastikan dulu di komputer/laptop anda sudah terinstall Node version 10.16.x or newer serta npm 6.9.x or newer, jika belum silahkan install terlebih dahulu node js https://nodejs.org/en/.
Setelah sudah terinstall semua perlengkapan perangnya maka mari kita mulai, dimulai dengan membuat folder untuk project kita (disini saya menggunakan OS linux backbox)
setelah itu kita inisialisasi projectnya menggunakan perintah npm init, setelah itu akan muncul tampilan seperti dibawah ini, untuk bagian entry point harap berhati-hati untuk project ini saya memberikan nama server.js,
setelah itu kita install package body-parser, express, dan mysql dengan cara npm install mysql body-parser express setelah semua terinstall dengan benar pastikan ada file-file seperti ini
lalu kita buat database menggunakan mysql dengan nama simplerest dengan table user.
Selanjutnya, buka code editor kalian lalu buat file baru bernama server.js (nama ini harus sesuai saat kita npm init) dan import express dan body-parser serta insialisasi port servernya.
const express = require(‘express’)
const app = express()
const port = process.env.PORT || 3000
const bodyPraser = require(‘body-parser’)
app.use( bodyPraser.urlencoded({ extended: true }) ) app.use(bodyPraser.json())
app.listen(port) console.log(‘Connect Succes On ‘ + port)
Setelah itu jalankan server dengan perintah npm start, jika berhasil maka akan muncul Connect success on 3000
Sekarang kita akan buat config untuk databasenya, pertama buat folder src untuk menampung semua config yang ada di Back-end kita, setelah itu buat folder config dan buat file db.js
lalu kita masukan code berikut:
agar bisa konek ganti semua yang menggunakan process.env dengan config yang ada di komputer/laptop anda pada kasus ini menggunakan localhost
process.env.DB_HOST ganti dengan localhost
process.env.DB_USER ganti dengan user untuk masuk ke phpmyadmin
process.env.DB_PASS ganti dengan password untuk masuk ke phpmyadmin
process.env.DB_NAME ganti dengan nama database yang anda gunakan
lalu kita lanjutkan buat file untuk menghandle response yaitu buat folder di dalam /src yaitu helper dan buat file response.js, lalu ketikan code ini
oke next kita buat model untuk menggambil semua user, menggunakan Promise middleware.
pertama kita mengimport config db yang telah kita buat sebelumnya, selanjutnya kita buat promise midllewarenya yang memiliki function berparameter resolve jika diterima dan reject jika ditolak, jadi gak diphpin hehehehe. Selanjutnya kita masukan query sql select untuk mengambil semua data yang ada di table user (ini hanya untuk pembelajaran ya, kalau dalam kasus sebenarnya jangan ada model yang kita buat untuk mengambil semua data user yang ada password atau data penting) setelah ada arrow function yang mengembalikan nilai dari hasil query tadi.
Oke next, kita buat Controllernya sebelumnya harus buat folder controllers yang ada didalam folder /src/controllers lalu buat file user.js dan ketikan kode berikut
Maksud dari kodingan diatas adalah kita import model dan response yang telah kita buat tadi selanjutnya kita buat function untuk mengeksekusi model yang telah kita yaitu getUsers() function getUsers ini memiliki arrow function yang parameternya adalah request (req) dan response (res) response ini berbeda dengan response yang kita buat diatas ya, ini response bawaan dari javascript, kemudian kita panggil model getUser, karena kita menggunakan promise middleware pada modelnya maka dicontroller meresponnya dengan than dan catch (ini mirip try catch kalau di java) ketika response dari modelnya benar (resolve) maka akan masuk kedalam then yang hasilnya ada diparameternya yang dimana ini adalah result untuk parameternya bebas ya, tapi ingat baiknya parameter atau variable itu berbahasa inggris, lalu kita kita balikan nilai (retrun value) dengan response yang telah kita buat dengan parameter res (ini response dari javascript), result (ini result dari sql) dan 200 (ini adalah status code ketika success).
Sekarang kita buat routenya, tapi seperti biasa kita buat folder buat routes didalam /src dan kemudian buat file user.js, Lalu ketikan kode ini
karena kita mengambil data maka didalam routenya kita pakai method get.
setelah berhasil membuat routenya jangan lupa difile server.js kita import routenya jadi seperti ini
setelah semua sudah selesai semua jangan lupa restart servernya dengan cara buka terminal yang merun servernya lalu crtl+c dan npm start.
jika sudah mari kita coba menggunakan postman, masukan url : http://localhost:3000/user/ dan jika muncul result : [] seperti ini maka anda telah berhasil, berikut saya tampilkan contoh database yang telah saya input sebelumnya.
Selesai deh kamu sekarang sudah bisa membuat REST API dengan method get
untuk link source code nya ada disini : https://github.com/ayiangio/simplerest