Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

MENAMBAHKAN LIMITASI DATA DI API NODE.JS

Pelajari cara menambahkan limitasi data di API Node.js agar lebih efektif dan efisien dalam pengelolaan data.

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.

Mengapa Perlu Limitasi Data?

Menambahkan limitasi pada data yang dikirim bisa meningkat performa API karena:

  • Mengurangi Beban Server: Dengan mengirimkan lebih sedikit data, server bekerja lebih ringan.
  • Mempercepat Waktu Respon: Menerima data dalam jumlah kecil akan lebih cepat.
  • Pengalaman Pengguna yang Lebih Baik: Mengurangi waktu loading pada sisi pengguna.

Cara Menambahkan Limitasi Data di Node.js

Ada beberapa cara mudah untuk menambahkan limitasi data:

Menggunakan Query Parameters

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

Implementasi di Kode

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');
});

Validasi Input Pengguna

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.


Daftar newsletter skodev masukkan emailmu untuk dapat informasi menarik dari dunia koding