Apidog

Platform Pengembangan API Kolaboratif All-in-one

Desain API

Dokumentasi API

Debug API

Mocking API

Pengujian Otomatis API

Cara menangani parameter query di Node.js Express

Pelajari cara menangani query parameter di Node.js Express secara efisien. Panduan ini mencakup penanganan dasar hingga validasi lanjutan & praktik terbaik.

Ardianto Nugroho

Ardianto Nugroho

Updated on April 15, 2025

Hai para coder! Hari ini, kita akan menyelami dunia query parameter di Node.js Express. Baik Anda seorang pemula atau pengembang berpengalaman, memahami cara menangani query parameter secara efisien sangat penting untuk membangun API yang kuat. Jadi, bersiaplah dan tingkatkan keterampilan Express.js Anda!

Sebelum kita mulai, sedikit promosi untuk Apidog – alat bantu utama Anda untuk dokumentasi dan pengujian API. Gratis, andal, dan sangat melengkapi perjalanan pengembangan API Anda. Jangan lupa untuk mengunduh Apidog secara gratis dan permudah hidup Anda!

tombol

Apa Itu Query Parameter?

Pertama-tama, mari kita perjelas apa itu query parameter. Saat Anda mengirim permintaan GET ke server, Anda dapat menyertakan data tambahan menggunakan query parameter. Parameter ini adalah bagian dari URL dan biasanya digunakan untuk memfilter, mengurutkan, atau menyesuaikan data yang dikembalikan oleh server.

Misalnya, jika Anda membuat API untuk mengambil data pengguna, Anda mungkin ingin mendapatkan pengguna berdasarkan usia atau lokasi mereka. Berikut adalah tampilan URL umum dengan query parameter:

http://example.com/users?age=25&location=NY

Dalam URL ini, age=25 dan location=NY adalah query parameter.

Menyiapkan Lingkungan Node.js Anda

Sebelum kita dapat mulai bekerja dengan query parameter, kita perlu menyiapkan lingkungan Node.js kita. Jika Anda belum melakukannya, pastikan Anda telah menginstal Node.js. Anda dapat mengunduhnya dari situs web Node.js resmi.

Setelah Anda menginstal Node.js, buat direktori proyek baru dan inisialisasi dengan npm:

mkdir express-query-params
cd express-query-params
npm init -y

Selanjutnya, instal Express:

npm install express

Membuat Server Express Dasar

Sekarang lingkungan kita sudah siap, mari kita buat server Express dasar. Buat file baru bernama server.js dan tambahkan kode berikut:

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

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

app.listen(port, () => {
    console.log(`Server is running on http://localhost:${port}`);
});

Jalankan server Anda menggunakan perintah berikut:

node server.js

Anda akan melihat pesan "Server is running on http://localhost:3000". Buka browser Anda dan navigasikan ke http://localhost:3000 untuk melihat "Hello, world!" ditampilkan di layar.

Menangani Permintaan GET dengan Query Parameter

Sekarang kita memiliki server dasar yang berjalan, mari kita tambahkan beberapa fungsi untuk menangani query parameter.

Contoh 1: Query Parameter Sederhana

Kita akan mulai dengan contoh sederhana. Mari kita modifikasi server kita untuk menangani permintaan GET dengan query parameter. Perbarui file server.js Anda sebagai berikut:

app.get('/users', (req, res) => {
    const age = req.query.age;
    const location = req.query.location;

    res.send(`Users with age: ${age} and location: ${location}`);
});

Dalam kode ini, kita menggunakan req.query untuk mengakses query parameter. Objek req.query berisi semua query parameter yang dikirim dalam URL.

Menguji Endpoint Anda

Mulai ulang server Anda dan navigasikan ke URL berikut di browser Anda:

http://localhost:3000/users?age=25&location=NY

Anda akan melihat pesan "Users with age: 25 and location: NY".

Contoh 2: Menangani Beberapa Query Parameter

Mari kita tingkatkan dan tangani beberapa query parameter dengan lebih efektif. Perbarui file server.js Anda untuk menangani skenario yang lebih kompleks:

app.get('/search', (req, res) => {
    const { term, limit, page } = req.query;

    res.send(`Searching for: ${term}, Limit: ${limit}, Page: ${page}`);
});

Dalam contoh ini, kita melakukan destructuring objek req.query untuk mengekstrak parameter secara langsung. Ini membuat kode lebih bersih dan lebih mudah dibaca.

Menguji Endpoint Anda

Mulai ulang server Anda dan navigasikan ke URL berikut di browser Anda:

http://localhost:3000/search?term=nodejs&limit=10&page=2

Anda akan melihat pesan "Searching for: nodejs, Limit: 10, Page: 2".

Memvalidasi Query Parameter

Meskipun menangani query parameter itu bagus, penting untuk memvalidasinya untuk memastikan API Anda berperilaku dengan benar dan aman. Mari kita tambahkan beberapa validasi ke query parameter kita.

Contoh 3: Validasi Dasar

Perbarui file server.js Anda untuk menyertakan logika validasi:

app.get('/products', (req, res) => {
    const { category, price } = req.query;

    if (!category || !price) {
        return res.status(400).send('Missing category or price');
    }

    res.send(`Category: ${category}, Price: ${price}`);
});

Dalam contoh ini, kita memeriksa apakah query parameter category dan price ada. Jika salah satunya hilang, kita mengembalikan kode status 400 dengan pesan kesalahan.

Menguji Endpoint Anda

Mulai ulang server Anda dan navigasikan ke URL berikut di browser Anda:

http://localhost:3000/products?category=electronics&price=100

Anda akan melihat pesan "Category: electronics, Price: 100".

Coba akses URL tanpa salah satu query parameter:

http://localhost:3000/products?category=electronics

Anda akan melihat pesan kesalahan "Missing category or price".

Penanganan Query Parameter Tingkat Lanjut dengan Middleware

Fungsi middleware di Express adalah cara yang ampuh untuk menambahkan fungsi tambahan ke rute Anda. Mari kita lihat bagaimana kita dapat menggunakan middleware untuk menangani query parameter dengan lebih efisien.

Contoh 4: Middleware untuk Validasi Query Parameter

Buat file baru bernama middleware.js dan tambahkan kode berikut:

const validateQueryParams = (req, res, next) => {
    const { category, price } = req.query;

    if (!category || !price) {
        return res.status(400).send('Missing category or price');
    }

    next();
};

module.exports = validateQueryParams;

Dalam fungsi middleware ini, kita memvalidasi query parameter dan memanggil next() untuk meneruskan kontrol ke middleware atau penangan rute berikutnya jika validasi berhasil.

Menggunakan Middleware di Rute Anda

Perbarui file server.js Anda untuk menggunakan middleware:

const validateQueryParams = require('./middleware');

app.get('/products', validateQueryParams, (req, res) => {
    const { category, price } = req.query;

    res.send(`Category: ${category}, Price: ${price}`);
});

Sekarang, middleware validateQueryParams akan dieksekusi sebelum penangan rute, memastikan bahwa query parameter divalidasi.

Menggunakan Apidog untuk Dokumentasi dan Pengujian API

Seperti yang dijanjikan, mari kita bicara tentang Apidog. Ini adalah alat yang sangat baik untuk mendokumentasikan dan menguji API Anda. Dengan Apidog, Anda dapat membuat dokumentasi API interaktif, menguji endpoint Anda, dan memastikan semuanya berfungsi seperti yang diharapkan.

tombol

Membuat Dokumentasi API

Untuk membuat dokumentasi API untuk aplikasi Express Anda, Anda dapat menggunakan Apidog. Di dalam proyek, Anda dapat membuat API baru. Dokumentasi adalah cetak biru dari REST API, yang menjelaskan sumber daya, operasi, dan parameter-nya. Untuk membuat API baru, klik tombol "+" di halaman proyek.

Membuat REST API menggunakan Apidog

Menguji API Anda dengan Apidog

Setelah dokumentasi Anda disiapkan, Anda dapat menguji endpoint API Anda langsung dari antarmuka Apidog. Ini memudahkan untuk memverifikasi bahwa query parameter dan respons Anda berfungsi dengan benar.

Isi metode HTTP, model permintaan/respons, query parameter, header, dll.

Isi informasi dasar untuk membuat REST API di Apidog

Setelah semua API dikembangkan, Anda dapat mengklik tombol "Kirim" untuk menguji API Anda.

Uji REST API di Apidog

Praktik Terbaik untuk Bekerja dengan Query Parameter

Sekarang kita telah membahas dasar-dasarnya, mari kita diskusikan beberapa praktik terbaik untuk bekerja dengan query parameter di Node.js Express.

Validasi Parameter Anda: Selalu validasi query parameter untuk memastikan API Anda aman dan andal. Gunakan middleware untuk menjaga kode Anda tetap bersih dan mudah dipelihara.

Gunakan Nilai Bawaan: Sediakan nilai bawaan untuk query parameter opsional untuk membuat API Anda lebih ramah pengguna. Ini dapat membantu menghindari kesalahan dan meningkatkan pengalaman pengguna.

Dokumentasikan API Anda: Gunakan alat seperti Apidog untuk mendokumentasikan endpoint API dan query parameter Anda. Ini memudahkan pengembang lain untuk memahami dan menggunakan API Anda.

Tangani Kesalahan dengan Baik: Kembalikan pesan kesalahan yang bermakna ketika query parameter hilang atau tidak valid. Ini membantu pengguna memahami apa yang salah dan bagaimana memperbaikinya.

Buat Sederhana: Hindari penggunaan terlalu banyak query parameter dalam satu endpoint. Jika API Anda memerlukan banyak parameter, pertimbangkan untuk memecahnya menjadi beberapa endpoint untuk kejelasan dan kegunaan yang lebih baik.

Kesimpulan

Menangani query parameter di Node.js Express adalah keterampilan mendasar bagi setiap pengembang API. Dengan mengikuti contoh dan praktik terbaik dalam panduan ini, Anda akan diperlengkapi dengan baik untuk membangun API yang kuat dan ramah pengguna.

Dan ingat, Apidog hadir untuk membuat perjalanan pengembangan API Anda lebih lancar. Unduh Apidog secara gratis dan mulailah mendokumentasikan dan menguji API Anda seperti seorang profesional!

tombol
Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)Tutorial

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Pelajari cara buat web apa pun dgn Lovable. Panduan lengkap, fitur inovatif, & integrasi Apidog (API gratis).

Ardianto Nugroho

April 15, 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan KomprehensifTutorial

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Tutorial ini memandu Anda menyiapkan & mengelola API key khusus di Cursor: OpenAI, Anthropic, Google, & Azure.

Ardianto Nugroho

April 11, 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat LanjutTutorial

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

Ardianto Nugroho

April 11, 2025