Pada pelajaran sebelumnya, kita sudah berhasil membuat server dengan Express.js menggunakan kode app.get('/', ...)
. Bagian inilah yang disebut dengan Route (Rute).
Sekarang, kita akan membahas lebih dalam tentang apa itu routing dan apa saja jenis-jenisnya.
Bagian 1: Apa Itu Routing?
Bayangkan kamu menelepon ke sebuah kantor besar. Kamu akan disambut oleh seorang resepsionis atau operator telepon. Kamu lalu memberitahu tujuanmu, “Saya ingin bicara dengan bagian Keuangan,” atau “Tolong sambungkan ke bagian Pemasaran.”
Tugas si operator adalah mengarahkan panggilanmu ke bagian yang tepat.
Routing di dalam API bekerja persis seperti itu. Ia adalah mekanisme yang bertugas untuk:
- Mendengarkan permintaan yang masuk ke sebuah alamat URL (disebut juga path atau endpoint).
- Mengarahkan permintaan tersebut ke fungsi atau logika yang sesuai untuk menanganinya.
Contoh:
- Jika ada permintaan ke
/students
, router akan mengarahkannya ke fungsi untuk menampilkan semua data siswa. - Jika ada permintaan ke
/teachers
, router akan mengarahkannya ke fungsi untuk menampilkan data guru.
Di Express.js, kita mendefinisikan route dengan struktur:
app.METHOD(PATH, HANDLER)
METHOD
: Metode HTTP yang akan kita bahas di bawah.PATH
: Alamat URL yang dituju.HANDLER
: Fungsi yang akan dieksekusi jika ada permintaan ke path tersebut.
Bagian 2: Mengenal Metode HTTP
Metode HTTP adalah “kata kerja” yang memberitahu server jenis tindakan apa yang ingin dilakukan oleh client. Ada banyak metode, tetapi 5 di antaranya adalah yang paling umum digunakan dalam pembuatan RESTful API.
- GET
- Fungsi Utama: Membaca atau Mengambil data.
- Analogi Sederhana: Membaca menu di restoran. Kamu hanya melihat, tidak mengubah apa pun.
- POST
- Fungsi Utama: Membuat data baru.
- Analogi Sederhana: Mengisi dan menyerahkan formulir pendaftaran. Kamu memberikan informasi baru.
- PUT
- Fungsi Utama: Memperbarui data secara keseluruhan.
- Analogi Sederhana: Mengganti seluruh isi biodata di profilmu dengan yang baru.
- PATCH
- Fungsi Utama: Memperbarui sebagian kecil dari data.
- Analogi Sederhana: Hanya mengganti foto profilmu, tanpa mengubah biodata lainnya.
- DELETE
- Fungsi Utama: Menghapus data.
- Analogi Sederhana: Menghapus postingan di media sosial.
Fokus: Metode GET dan POST
Untuk saat ini, kita akan fokus pada dua metode yang paling dasar dan paling sering digunakan.
1. GET (Membaca Data) Metode GET
adalah metode yang paling sederhana. Tujuannya murni untuk meminta data dari server. Setiap kali kamu membuka sebuah halaman web, browser-mu sebenarnya sedang melakukan permintaan GET
ke server untuk mengambil konten halaman tersebut.
- Contoh Kasus:
- Mengambil daftar semua siswa.
- Mengambil detail satu siswa berdasarkan ID-nya.
- Melihat daftar produk di sebuah toko online.
2. POST (Membuat Data Baru) Metode POST
digunakan ketika client ingin mengirimkan data ke server untuk disimpan sebagai data baru. Data yang dikirim ini biasanya diletakkan di dalam body dari sebuah request.
- Contoh Kasus:
- Menambahkan data siswa baru ke dalam sistem.
- Membuat postingan baru di media sosial.
- Mendaftarkan akun pengguna baru.
Di pelajaran selanjutnya, kita akan langsung mempraktikkan cara membuat route GET
dan POST
untuk studi kasus “data siswa”.