Book your free demo

Discover how our product can simplify your workflow. Schedule a free, no-obligation demo today.

    Social Media:

    ilustrasi pembuatan rest api menggunakan express js dan node js

    Cara Membuat REST API dengan Express.js

    REST API menjadi salah satu bagian penting dalam pengembangan website dan aplikasi modern. Saat ini hampir seluruh aplikasi digital menggunakan API untuk menghubungkan frontend, backend, database, hingga layanan pihak ketiga agar dapat saling bertukar data secara otomatis.

    Salah satu framework backend yang paling populer untuk membuat REST API adalah Express.js. Framework ini berjalan di atas Node.js dan dikenal ringan, cepat, serta fleksibel untuk membangun backend website maupun aplikasi modern berbasis JavaScript.

    Apa Itu Express.js?

    Express.js adalah framework backend untuk Node.js yang digunakan untuk membuat server dan API dengan lebih sederhana. Dengan Express.js, developer dapat membuat routing, request handling, middleware, hingga sistem backend secara lebih cepat dibanding menggunakan Node.js tanpa framework.

    Framework ini banyak digunakan untuk membuat REST API karena struktur kodenya mudah dipahami dan cocok untuk berbagai kebutuhan mulai dari project kecil hingga enterprise application.

    Install Node.js dan Express.js

    Sebelum membuat REST API, pastikan Node.js sudah terinstall di komputer. Setelah itu buat folder project baru lalu jalankan command berikut di terminal.

    
    mkdir rest-api-express
    cd rest-api-express
    npm init -y
    npm install express
    

    Command tersebut digunakan untuk membuat project Node.js baru dan menginstall Express.js sebagai dependency utama backend.

    Membuat File Server

    Setelah proses install selesai, buat file bernama server.js lalu isi dengan code berikut.

    
    const express = require('express');
    
    const app = express();
    const PORT = 3000;
    
    app.use(express.json());
    
    app.get('/', (req, res) => {
        res.send('REST API Express.js Berhasil Berjalan');
    });
    
    app.listen(PORT, () => {
        console.log(`Server running on port ${PORT}`);
    });
    

    Code di atas digunakan untuk membuat server Express.js sederhana yang berjalan di port 3000.

    Menjalankan Server

    Untuk menjalankan server gunakan command berikut di terminal.

    
    node server.js
    

    Jika berhasil, terminal akan menampilkan output berikut.

    
    Server running on port 3000
    

    Kemudian buka browser dan akses URL berikut.

    
    http://localhost:3000
    

    Jika berhasil maka browser akan menampilkan pesan bahwa REST API Express.js berhasil berjalan.

    Membuat Endpoint GET

    Endpoint GET digunakan untuk mengambil data dari server. Berikut contoh endpoint sederhana.

    
    app.get('/users', (req, res) => {
    
        const users = [
            {
                id: 1,
                name: 'Reza'
            },
            {
                id: 2,
                name: 'Developer'
            }
        ];
    
        res.json(users);
    
    });
    

    Ketika endpoint /users diakses, server akan mengirim data JSON ke browser atau frontend.

    Membuat Endpoint POST

    Method POST digunakan untuk menambahkan data baru ke server.

    
    app.post('/users', (req, res) => {
    
        const newUser = req.body;
    
        res.json({
            message: 'User berhasil ditambahkan',
            data: newUser
        });
    
    });
    

    Untuk testing endpoint POST bisa menggunakan Postman atau Thunder Client di VS Code.

    Contoh REST API Lengkap

    Berikut contoh REST API Express.js sederhana dengan method GET, POST, PUT, dan DELETE.

    
    const express = require('express');
    
    const app = express();
    const PORT = 3000;
    
    app.use(express.json());
    
    let users = [
        {
            id: 1,
            name: 'Reza'
        }
    ];
    
    app.get('/', (req, res) => {
    
        res.send('REST API Express.js');
    
    });
    
    app.get('/users', (req, res) => {
    
        res.json(users);
    
    });
    
    app.post('/users', (req, res) => {
    
        const user = {
            id: users.length + 1,
            name: req.body.name
        };
    
        users.push(user);
    
        res.json({
            message: 'User berhasil ditambahkan',
            data: user
        });
    
    });
    
    app.put('/users/:id', (req, res) => {
    
        const id = parseInt(req.params.id);
    
        const user = users.find(u => u.id === id);
    
        if(user){
    
            user.name = req.body.name;
    
            res.json({
                message: 'User berhasil diupdate',
                data: user
            });
    
        } else {
    
            res.status(404).json({
                message: 'User tidak ditemukan'
            });
    
        }
    
    });
    
    app.delete('/users/:id', (req, res) => {
    
        const id = parseInt(req.params.id);
    
        users = users.filter(u => u.id !== id);
    
        res.json({
            message: 'User berhasil dihapus'
        });
    
    });
    
    app.listen(PORT, () => {
    
        console.log(`Server berjalan di port ${PORT}`);
    
    });
    

    Kenapa REST API Penting?

    REST API digunakan hampir di seluruh aplikasi modern seperti website, mobile app, dashboard admin, cloud platform, hingga aplikasi enterprise. Frontend framework seperti React, Vue, dan Next.js biasanya mengambil data dari backend menggunakan REST API.

    Karena itu, memahami Express.js dan REST API menjadi salah satu skill penting dalam dunia backend development modern.

    Kesimpulan

    Express.js merupakan framework backend populer untuk membuat REST API menggunakan Node.js. Dengan sistem routing yang sederhana dan fleksibel, developer dapat membangun backend aplikasi secara lebih cepat dan modern.

    REST API juga menjadi fondasi utama komunikasi data antara frontend dan backend pada aplikasi digital saat ini.

    Popular Tags:
    Admin

    Admin PT. Siber Shop Teknologi Indonesia

    Leave a comment

    Your email address will not be published. Required fields are marked *