RESTful API (Read)

Materi kali ini, kita akan mencoba membuat RESTful API data mahasiswa menggunakan express dan MySQL.

Jalankan XAMPP

Pilih start menu - XAMPP Control Panel

Pilih Actions Start pada service apache dan mysql

Perhatikan pada kolom Port(s): Pada laptop saya, apache menggunakan port 81 (http), 443 (https), sedangkan mysql menggunakan port 3306.

Membuat Database dan Tabel

Buat database mysql dengan nama : db_express

Buat tabel dengan nama : mahasiswa

Menggunakan MySQL Workbench

Menggunakan phpMyAdmin

Buat Direktori Project

Buat direktori project dengan nama : restful-api

Buat file package.json dengan menjalankan perintah di bawah ini:

Lalu instal express, mysql dan body-parser dengan menjalan perintah di bawah ini:

Buat File index.js

File index.js merupakan file yang pertama kali diakses.

process.env.PORT || 3000, maksudya menyesuaikan PORT yang disediakan pada platform seperti Heroku, jika tidak ada maka PORT 3000 yang digunakan. Pada server localhost port yang akan digunakan adalah PORT 3000.

controller dan routes merupakan file modul yang dibuat terpisah dengan tujuan agar code lebih rapi, terstruktur, dan code tidak berada di index.js semua.

body-parser berfungsi untuk memparsing (cara memecah-mecah suatu rangkaian masukan) permintaan yang masuk (https://github.com/expressjs/body-parser)

Buat File conn.js

File conn.js menghubungkan aplikasi ke database mysql.

Buat File controller.js

'use strict'; merupakan ekspresi literal javascript untuk menunjukkan bahwa kode harus dijalankan dalam mode strict. Dengan mode strict, kita tidak dapat, misalnya, menggunakan variabel yang tidak dideklarasikan. (https://www.w3schools.com/js/js_strict.asp)

'SELECT * FROM mahasiswa' merupakan query untuk mengakses data yang ada di tabel mahasiswa.

response.ok(rows, res) memanggil exports.ok yang ada di file res.js dengan mengirimkan parameter rows dan res.

Buat File res.js

File res.js merupakan file untuk membuat standarisasi respon yang akan dikembalikan. Standarisasi respon ini nantinya sangat membantu frontend web developer.

values disini merupakan parameter rows yang dikirim dari exports.users pada controller.js

res.json(data) mengirimkan data (status dan values) dalam bentuk json

res.end() menutup atau mengakhiri koneksi ke database

HTTP response status code dapat dilihat di https://developer.mozilla.org/id/docs/Web/HTTP/Status

Buat File routes.js

File routes.js berisi route atau endpoint yang dapat diakses

Jalankan node index.js

Silakan jalankan index.js dengan perintah

Silakan akses http://localhost:3000 dan http://localhost:3000/users dari browser atau menggunakan aplikasi insomina atau postman.

Respon http://localhost:3000
Respon http://localhost:3000/users

Referensi

Last updated

Was this helpful?