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.
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:
- Node.js: Dikenal karena arsitekturnya yang non-pemblokiran dan berbasis peristiwa, Node.js sangat cocok untuk membuat aplikasi jaringan yang dapat diskalakan.
- Express: Kerangka kerja aplikasi web Node.js yang minimal dan fleksibel ini menyediakan serangkaian fitur yang kuat untuk mengembangkan aplikasi web dan seluler.
- Axios: Klien HTTP berbasis promise untuk peramban dan Node.js, Axios memudahkan pengiriman permintaan HTTP asinkron ke titik akhir REST dan melakukan operasi CRUD.
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.
- Pasang Node.js dan npm: Kunjungi situs web Node.js dan unduh versi terbaru. npm sudah termasuk dalam paket Node.js.
- 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.
- 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.
- Membuat Buku: Titik akhir ini akan memungkinkan pengguna untuk menambahkan buku baru ke daftar.
- Membaca Buku: Titik akhir ini akan mengembalikan daftar semua buku.
- Memperbarui Buku: Titik akhir ini akan memungkinkan pengguna untuk memperbarui detail buku yang ada.
- 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
- createBook: Mengirim permintaan POST untuk menambahkan buku baru.
- getBooks: Mengirim permintaan GET untuk mengambil semua buku.
- updateBook: Mengirim permintaan PUT untuk memperbarui buku yang ada.
- 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].
Langkah 1: Buka Apidog dan buat permintaan baru.
- Mulai Apidog dan pilih Permintaan Baru

Langkah 2: Masukkan API
- Temukan atau masukkan secara manual detail API untuk permintaan POST yang ingin Anda buat.

Langkah 3: Masukkan Parameter
- Isi parameter yang diperlukan dan data apa pun yang ingin Anda sertakan dalam isi permintaan.

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.

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.

Langkah 3: Isi Informasi API
Berikan detail seperti URL titik akhir, deskripsi, dan spesifikasi permintaan/respons. Mendokumentasikan titik akhir meliputi:
- Menentukan metode HTTP (GET, POST, PUT, DELETE, dll.) dan jalur permintaan API
- Mendefinisikan parameter permintaan (nama, jenis, deskripsi)
- Menjelaskan respons yang diharapkan (kode status, format, contoh respons)

Langkah 4: Simpan Dokumentasi API
Setelah memasukkan informasi yang diperlukan, klik "Simpan" untuk menyimpan dokumentasi 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.

Setelah dokumentasi API memenuhi kebutuhan bisnis, Anda dapat membagikannya dengan orang lain melalui satu tautan.
Manfaat Menghasilkan Dokumentasi API Online Menggunakan Apidog
- Debugging Online: Debug API dengan mudah langsung di dalam dokumentasi dengan mengklik tombol "Jalankan", yang memungkinkan pengujian yang cepat dan efisien.

- Pembuatan Dokumentasi Otomatis: Hasilkan dokumentasi API komprehensif secara otomatis dengan mengisi informasi yang diperlukan, menghilangkan kebutuhan akan konfigurasi manual yang ekstensif.
- Pembuatan Kode: Hasilkan kode model permintaan dan respons secara instan dalam berbagai bahasa, seperti JavaScript, dengan opsi untuk Fetch, Axios, dan JQuery, dll., menyederhanakan proses pengembangan.

- Cloud Mock: Manfaatkan Cloud Mock untuk mensimulasikan layanan backend dan membuat server virtual untuk pengujian tanpa batasan, meningkatkan fleksibilitas dan mengurangi ketergantungan pada layanan backend yang sebenarnya.
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.