Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Ketika membuat API menggunakan Node.js, seringkali kita perlu membatasi jumlah data yang dikirimkan kepada pengguna. Ini berguna untuk meningkatkan performa server dan mengurangi waktu respon.
Menambahkan limitasi pada data yang dikirim bisa meningkat performa API karena:
Ada beberapa cara mudah untuk menambahkan limitasi data:
Gunakan parameter limit
dan offset
pada query string request pengguna untuk mengambil sejumlah data tertentu. Contoh:
// Mengambil 10 data mulai dari data pertama
GET /api/items?limit=10&offset=0
Berikut adalah contoh pengimplementasian limitasi pada sisi server:
const express = require('express');
const app = express();
// Contoh database
const database = [...Array(100).keys()].map(num => ({ id: num, name: `Item ${num}` }));
app.get('/api/items', (req, res) => {
const limit = parseInt(req.query.limit) || 10; // Default limit
const offset = parseInt(req.query.offset) || 0; // Default offset
const items = database.slice(offset, offset + limit);
res.json(items);
});
app.listen(3000, () => {
console.log('Server berjalan di port 3000');
});
Kamu harus memastikan bahwa nilai untuk limit
dan offset
valid dan berada dalam kisaran yang ditentukan untuk mencegah beban server yang berlebihan. Contohnya:
app.get('/api/items', (req, res) => {
let limit = parseInt(req.query.limit) || 10;
let offset = parseInt(req.query.offset) || 0;
// Validasi
if (limit > 50) limit = 50; // Limit maksimal
if (offset < 0) offset = 0;
const items = database.slice(offset, offset + limit);
res.json(items);
});
Dengan menerapkan limitasi data ini, API Node.js kamu dapat bekerja lebih efisien dan menjaga pengalaman pengguna agar tetap optimal.
Link terkait: