Membangun API dengan Node.js, Express, dan Axios: Panduan Komprehensif

Pelajari cara membuat & konsumsi API dg Node.js, Express, & Axios. Temukan praktik terbaik utk penanganan error, header khusus, & APIdog utk pengujian & dokumentasi.

Ardianto Nugroho

Ardianto Nugroho

15 April 2025

Membangun API dengan Node.js, Express, dan Axios: Panduan Komprehensif

Hai para pengembang! Hari ini, kita akan menyelami lebih dalam dunia membangun API menggunakan Node.js, Express, dan Axios. Baik Anda seorang programmer berpengalaman atau baru memulai, postingan ini akan memandu Anda melalui pembuatan API yang kuat secara efisien. Selain itu, saya akan memperkenalkan Anda pada alat Apidog luar biasa yang akan menyederhanakan proses pengujian dan dokumentasi API Anda.

💡
Siap untuk membawa pengembangan API Anda ke tingkat berikutnya? Unduh Apidog secara gratis dan mulai uji serta dokumentasikan API Anda dengan mudah hari ini!
button

Pendahuluan

API (Application Programming Interfaces) telah menjadi tulang punggung aplikasi web modern. Mereka memungkinkan sistem perangkat lunak yang berbeda untuk berkomunikasi dan berbagi data dengan lancar. Baik Anda mengembangkan aplikasi web, aplikasi seluler, atau bahkan aplikasi desktop, API sangat penting.

Mengapa Node.js, Express, dan Axios?

Node.js, Express, dan Axios adalah trio dinamis dalam hal membangun dan menggunakan API. Inilah alasannya:

Dengan menggabungkan ketiga alat yang hebat ini, Anda dapat membangun API yang efisien, dapat diskalakan, dan mudah dipelihara.

Menyiapkan Lingkungan Anda

Sebelum kita masuk ke kode, mari siapkan lingkungan kita. Anda memerlukan Node.js dan npm (Node Package Manager) yang terpasang di mesin Anda.

  1. Pasang Node.js dan npm: Kunjungi situs web Node.js dan unduh versi terbaru. npm sudah termasuk dalam paket Node.js.
  2. Inisialisasi proyek baru: Buka terminal Anda dan jalankan:
mkdir nodejs-express-axios-api
cd nodejs-express-axios-api
npm init -y

Ini akan membuat direktori baru dan menginisialisasi proyek Node.js baru dengan file package.json bawaan.

  1. Pasang Express dan Axios:
npm install express axios

Membuat API Pertama Anda dengan Node.js dan Express

Sekarang lingkungan kita sudah siap, mari buat API sederhana.

Menyiapkan Express

Pertama, kita perlu menyiapkan server Express kita. Buat file bernama server.js dan tambahkan kode berikut:

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

// Middleware untuk mengurai JSON
app.use(express.json());

// Memulai server
app.listen(PORT, () => {
    console.log(`Server berjalan di http://localhost:${PORT}`);
});

Mendefinisikan Titik Akhir API

Selanjutnya, mari definisikan beberapa titik akhir API. Kita akan membuat titik akhir untuk aplikasi CRUD sederhana yang mengelola daftar buku.

  1. Membuat Buku: Titik akhir ini akan memungkinkan pengguna untuk menambahkan buku baru ke daftar.
  2. Membaca Buku: Titik akhir ini akan mengembalikan daftar semua buku.
  3. Memperbarui Buku: Titik akhir ini akan memungkinkan pengguna untuk memperbarui detail buku yang ada.
  4. Menghapus Buku: Titik akhir ini akan memungkinkan pengguna untuk menghapus buku dari daftar.

Tambahkan kode berikut ke server.js:

let books = [];

// Membuat Buku
app.post('/books', (req, res) => {
    const book = req.body;
    books.push(book);
    res.status(201).send('Buku berhasil ditambahkan');
});

// Membaca Buku
app.get('/books', (req, res) => {
    res.json(books);
});

// Memperbarui Buku
app.put('/books/:id', (req, res) => {
    const bookId = req.params.id;
    const updatedBook = req.body;
    books = books.map(book => book.id === bookId ? updatedBook : book);
    res.send('Buku berhasil diperbarui');
});

// Menghapus Buku
app.delete('/books/:id', (req, res) => {
    const bookId = req.params.id;
    books = books.filter(book => book.id !== bookId);
    res.send('Buku berhasil dihapus');
});

Menjalankan API Anda

Untuk menjalankan API Anda, cukup gunakan perintah berikut di terminal Anda:

node server.js

Anda akan melihat pesan: Server berjalan di http://localhost:3000.

Menggunakan API dengan Axios

Sekarang API kita sudah berjalan, mari pelajari cara menggunakannya menggunakan Axios.

Membuat Permintaan HTTP dengan Axios

Axios memudahkan pengiriman permintaan HTTP asinkron ke titik akhir REST dan melakukan operasi CRUD. Kita akan mendemonstrasikan cara melakukan setiap operasi (Buat, Baca, Perbarui, Hapus) menggunakan Axios.

Pertama, pasang Axios di proyek Anda jika Anda belum melakukannya:

npm install axios

Contoh: Menggunakan Axios untuk Berinteraksi dengan API Buku Kita

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

const axios = require('axios');
const API_URL = 'http://localhost:3000/books';

// Membuat buku baru
const createBook = async (book) => {
    try {
        const response = await axios.post(API_URL, book);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Membaca semua buku
const getBooks = async () => {
    try {
        const response = await axios.get(API_URL);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Memperbarui buku
const updateBook = async (bookId, updatedBook) => {
    try {
        const response = await axios.put(`${API_URL}/${bookId}`, updatedBook);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Menghapus buku
const deleteBook = async (bookId) => {
    try {
        const response = await axios.delete(`${API_URL}/${bookId}`);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Contoh penggunaan
const newBook = { id: '1', title: 'Node.js untuk Pemula', author: 'John Doe' };
createBook(newBook);
getBooks();
updateBook('1', { id: '1', title: 'Node.js Tingkat Lanjut', author: 'John Doe' });
deleteBook('1');

Penjelasan

  1. createBook: Mengirim permintaan POST untuk menambahkan buku baru.
  2. getBooks: Mengirim permintaan GET untuk mengambil semua buku.
  3. updateBook: Mengirim permintaan PUT untuk memperbarui buku yang ada.
  4. deleteBook: Mengirim permintaan DELETE untuk menghapus buku.

Penggunaan Tingkat Lanjut Axios dan Penanganan Kesalahan

Penanganan kesalahan sangat penting saat berurusan dengan permintaan HTTP. Axios menyediakan beberapa cara untuk menangani kesalahan secara efektif.

Menangani Kesalahan

Modifikasi file client.js untuk menangani kesalahan dengan lebih baik:

const axios = require('axios');
const API_URL = 'http://localhost:3000/books';

// Membuat buku baru
const createBook = async (book) => {
    try {
        const response = await axios.post(API_URL, book);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Membaca semua buku
const getBooks = async () => {
    try {
        const response = await axios.get(API_URL);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Memperbarui buku
const updateBook = async (bookId, updatedBook) => {
    try {
        const response = await axios.put(`${API_URL}/${bookId}`, updatedBook);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Menghapus buku
const deleteBook = async (bookId) => {
    try {
        const response = await axios.delete(`${API_URL}/${bookId}`);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Fungsi penanganan kesalahan
const handleError = (error) => {
    if (error.response) {
        // Permintaan dibuat dan server merespons dengan kode status
        console.error('Kesalahan:', error.response.data);
        console.error('Status:', error.response.status);
        console.error('Header:', error.response.headers);
    } else if (error.request) {
        // Permintaan dibuat tetapi tidak ada respons yang diterima
        console.error('Kesalahan: Tidak ada respons yang diterima', error.request);
    } else {
        // Sesuatu terjadi saat menyiapkan permintaan
        console.error('Kesalahan:', error.message);
    }
};

Menetapkan Header dan Interceptor Kustom

Axios memungkinkan Anda untuk menetapkan header kustom dan mencegat permintaan atau respons. Ini dapat berguna untuk menambahkan token otentikasi atau pencatatan.

const axios = require('axios');
const API_URL = 'http://localhost:3000/books';

// Instance Axios dengan header kustom
const axiosInstance = axios.create({
    baseURL: API_URL,
    headers: { 'Authorization': 'Bearer YOUR_TOKEN_HERE' }
});

// Interceptor permintaan
axiosInstance.interceptors.request.use(config => {
    console.log('Permintaan dikirim pada:', new Date().toISOString());
    return config;
}, error => {
    return Promise.reject(error);
});

// Interceptor respons
axiosInstance.interceptors.response.use(response => {
    console.log('Respons diterima pada:', new Date().toISOString());
    return response;
}, error => {
    return Promise.reject(error);
});

// Contoh penggunaan dengan interceptor
const getBooks = async () => {
    try {
        const response = await axiosInstance.get('/');
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

getBooks

();

Menguji dan Mendokumentasikan API Anda dengan APIdog

Menguji dan mendokumentasikan API Anda sangat penting untuk memastikan API berfungsi seperti yang diharapkan dan mudah digunakan oleh pengembang lain. Di sinilah APIdog berperan.

Apa itu Apidog?

APIdog adalah alat yang ampuh yang membantu Anda menguji dan mendokumentasikan API Anda dengan mudah. Dengan APIdog, Anda dapat membuat dokumentasi API yang komprehensif, melakukan pengujian otomatis, dan berbagi API Anda dengan tim Anda.

Menguji API dengan Apidog

Mari kita ikuti tutorial singkat tentang cara menggunakan Apidog untuk membuat permintaan [post].

button

Langkah 1: Buka Apidog dan buat permintaan baru.

Apidog

Langkah 2: Masukkan API

Apidog

Langkah 3: Masukkan Parameter

Apidog

Menggunakan Apidog dapat menghemat waktu dan tenaga Anda saat bekerja dengan permintaan POST.

Mendokumentasikan API Kita dengan Apidog

Untuk menghasilkan dokumentasi API dengan mudah, cukup ikuti panduan langkah demi langkah ini:

Langkah 1: Daftar ke Apidog

Untuk mulai menggunakan Apidog untuk dokumentasi API, buat akun dan masuk. Setelah masuk, Anda akan diarahkan ke Pusat Proyek, tempat Anda dapat memilih proyek bawaan atau membuat yang baru.

Ini adalah pusat proyek tempat Anda akan diarahkan setelah masuk ke Apidog.

Langkah 2: Buat API Baru

Proyek API Anda akan terdiri dari beberapa titik akhir. Tambahkan titik akhir dengan mengklik tombol "+" atau "Tambahkan Titik Akhir" di dalam proyek Anda.

Buat titik akhir baru di Apidog

Langkah 3: Isi Informasi API

Berikan detail seperti URL titik akhir, deskripsi, dan spesifikasi permintaan/respons. Mendokumentasikan titik akhir meliputi:

Langkah 4: Simpan Dokumentasi API

Setelah memasukkan informasi yang diperlukan, klik "Simpan" untuk menyimpan dokumentasi API.

Mengklik "Jalankan" untuk menguji API.
Klik "Jalankan" untuk menguji API

Langkah 5: Uji API Langsung dari Dokumen API Online

Setelah Anda menyimpan dokumentasi API, akan ada opsi untuk "Jalankan" API Anda. Mengklik tombol "Jalankan" akan mengirim permintaan API dan mengambil respons untuk Anda menguji titik akhir. Selama proses ini, Anda dapat mengidentifikasi kesalahan dan masalah apa pun yang perlu ditangani.

Mengklik "Kirim" untuk mengirim permintaan API dan mendapatkan laporan pengujian

Setelah dokumentasi API memenuhi kebutuhan bisnis, Anda dapat membagikannya dengan orang lain melalui satu tautan.

Manfaat Menghasilkan Dokumentasi API Online Menggunakan Apidog

Anda dapat mengirim permintaan API langsung pada dokumentasi yang dibuat oleh Apidog
Anda dapat menghasilkan kode permintaan dan respons dalam dokumen online yang dibuat oleh Apidog

Kesimpulan

Selamat! Anda telah berhasil membangun API yang kuat menggunakan Node.js, Express, dan Axios. Anda juga telah mempelajari cara menggunakan API dengan Axios, menangani kesalahan secara efektif, dan meningkatkan pengujian dan dokumentasi API Anda dengan APIdog.

API adalah tulang punggung pengembangan web modern, dan menguasai alat-alat ini akan membawa Anda ke jalur untuk membuat aplikasi yang kuat dan dapat diskalakan. Jangan lupa untuk mengunduh APIdog secara gratis untuk menyederhanakan proses pengembangan dan pengujian API Anda.

button

Explore more

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

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).

15 April 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

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

11 April 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

11 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.