Membuat Restful API dengan ExpressJs

Singkat saja, ExpressJs adalah sebuah framework kecil dan cepat berbasis JavaScript (NodeJs).

Pastikan NodeJs sudah terinstal di komputer. Jika belum, silahkan download di website resminya https://nodejs.org/en/download/current sesuaikan dengan sistem operasi yang digunakan.

# Inisialiasi Project

Buat folder baru dan inisialiasi project. Misal di sini nama foldernya 📁belajar-express

Jalankan perintah:

npm init -y

— untuk inisialisasi secara cepat.

Init Project Express

# Instal ExpressJS

Kunjungi website resminya https://expressjs.com/ untuk dokumentasi lebih lengkap.

Sesuaikan dengan dokumentasi, cukup jalankan perintah:

npm install express --save

— untuk instal Express-nya.

# Struktur Folder

Setelah berhasil instal, Express tidak membawa struktur awal seperti framework pada umumnya.

# Hello World Express!

Buat file baru di dalam folder project, beri nama 📄index.js

Ikut kode yang ada di dokumentasi:

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World Express!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

Jalankan file 📄index.js

node index.js

Jika muncul pesan seperti diatas sesuai kode di file 📄index.js berarti server sudah berhasil jalan. Silahkan buka di browser alamatnya http://localhost:3000

# Penjelasan Singkat

Saya akan coba jelaskan secara singkat mengenai struktur kode dasar dari Express di atas.

Pertama, kita panggil dulu si Express-nya

const express = require('express')

Setelah itu inisialisasi. Kita taruh ke dalam variabel app

const app = express()

Variabel port sebenarnya opsional saja, bisa langsung isi di dalam method listen() tapi biar rapi taruh di variabel aja

const port = 3000

Setelah langkah inisialisasi dilakukan, kita mulai routing istilahnya. Jadi ada method get() digunakan ketika ada request ke server dengan method GET.

app.get('/', (req, res) => {
  res.send('Hello World Express!')
})

— Di parameter pertama berisikan PATH dari URL kemudian callback berisi 2 parameter yaitu Request (req) dan Response (res). Di kode kita ada method send() di panggil untuk mengembalikan respon ke client berupa teks.

Terakhir ada method listen() yang bertujuan untuk menjalankan server

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

# Sedikit Tips

Ketika kita ubah kode dan cek kembali perubahannya, Express tidak akan langsung mengubahnya. Harus restart server agar perubahan bisa dibaca.

Untuk mengatasi masalah ini, kita butuh tools yang akan merestart otomatis servernya ketika ada perubahan di dalam kode kita nantinya.

# Instal Nodemon

Nodemon adalah library untuk NodeJs yang membantu kita melihat perubahan langsung tanpa harus merestart server terlebih dahulu. Ini sangat membantu kita dalam proses pengembangan aplikasi.

Bisa kunjungi website resminya https://nodemon.io/ untuk dokumentasi.

Kita cukup jalankan perintah:

npm install -g nodemon

— sesuai di dokumentasinya

# Menjalankan Server dengan Nodemon

Jika sebelumnya kita menggunakan perintah:

node index.js

— sekarang kita pakai Nodemon:

nodemon index.js

Sekian dulu untuk tutorial singkat mengenai Express 👋