Fetch Data API dengan Axios di Vue.js: Panduan Lengkap!
Mengambil data dari API adalah bagian penting dalam pengembangan aplikasi berbasis Vue.js. Salah satu cara terbaik untuk melakukan ini adalah dengan menggunakan Axios, sebuah pustaka HTTP client yang ringan dan mudah digunakan.
Dalam artikel ini, kita akan membahas cara menggunakan Axios di Vue.js untuk mengambil data dari API, menangani error, serta mengoptimalkan pengambilan data.
📌 Baca juga: Membuat Infinite Scroll di Vue.js: Teknik Praktis dengan Intersection Observer
1. Apa Itu Axios?
Axios adalah pustaka JavaScript berbasis Promise yang digunakan untuk melakukan request HTTP. Dibandingkan dengan fetch()
, Axios memiliki beberapa keunggulan:
✅ Mudah digunakan → Sintaks lebih sederhana dibandingkan fetch()
.
✅ Dukungan otomatis untuk JSON → Tidak perlu mengonversi respons secara manual.
✅ Mendukung interceptors → Bisa menangani request dan response secara global.
✅ Mendukung request timeout dan cancel → Memungkinkan pengendalian lebih baik terhadap request API.
2. Instalasi Axios di Vue.js
a. Instalasi dengan NPM
Jalankan perintah berikut di terminal:
b. Import Axios dalam Komponen Vue
Tambahkan Axios dalam file
main.js
:
Dengan cara ini, kita bisa menggunakan
this.$axios
di semua komponen Vue.
3. Mengambil Data API dengan Axios
Buat komponen baru FetchData.vue
dan tambahkan kode berikut:
Penjelasan Kode
-
Menginisialisasi data (
users
) sebagai array kosong. -
Menggunakan
axios.get()
untuk mengambil data dari API. -
Menangani error jika request gagal.
-
Menampilkan loading indicator saat data sedang diambil.
4. Menggunakan Axios dengan API yang Memerlukan Token
Jika API memerlukan Authorization Token, kita bisa menambahkannya dalam headers:
5. Membuat Instance Axios Global untuk API
Agar lebih mudah dalam menangani request API, kita bisa membuat instance Axios dengan konfigurasi default.
Buat file baru api.js
:
Lalu gunakan di komponen Vue:
6. Kesimpulan
Menggunakan Axios di Vue.js membuat proses pengambilan data dari API menjadi lebih mudah dan efisien. Dengan berbagai fitur seperti interceptors, timeout handling, dan global instance, Axios menjadi pilihan terbaik untuk menangani HTTP request di aplikasi Vue.js.
Post a Comment