Salah satu tugas paling penting adalah mengambil data dari server. Proses ini, yang melibatkan pengiriman permintaan dan penerimaan respons, adalah tulang punggung sebagian besar aplikasi web modern. Artikel ini memberikan panduan komprehensif untuk mengambil data dengan body dan header, dua komponen penting dari setiap permintaan HTTP. Baik Anda seorang pengembang berpengalaman atau pemula yang baru memulai, panduan ini akan membekali Anda dengan pengetahuan dan keterampilan yang Anda butuhkan untuk mengambil data secara efektif dalam aplikasi Anda. Mari kita mulai!
Memahami Fetch
Fungsi fetch()
adalah alat yang ampuh dalam JavaScript untuk membuat permintaan jaringan. Berikut adalah alasan mengapa Anda mungkin ingin menggunakannya dan cara menggunakannya:
- Operasi Asinkron:
fetch()
memungkinkan Anda untuk membuat panggilan AJAX asinkron. Ini berarti bahwa Anda dapat meminta data dari API tanpa menghentikan eksekusi instruksi lain. Fungsi lain di situs Anda akan terus berjalan bahkan ketika panggilan API belum diselesaikan. - Berbasis Promise: Tidak seperti XMLHttpRequest, yang berbasis callback, Fetch berbasis promise, sehingga lebih mudah digunakan dan dikelola dalam aplikasi JavaScript modern.
- Serbaguna: Fetch dapat digunakan untuk berbagai jenis permintaan (GET, POST, PUT, DELETE, dll.) dan format data.
Berikut adalah contoh dasar tentang cara menggunakan fetch()
untuk membuat permintaan GET:
fetch('https://example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
Dalam contoh ini, fetch()
dipanggil dengan URL sumber daya yang ingin Anda ambil. Fungsi ini mengembalikan Promise yang menyelesaikan ke Response untuk permintaan itu, apakah berhasil atau tidak. Anda kemudian dapat menggunakan metode .json()
untuk mengurai data respons sebagai JSON.

Menggunakan Fetch dengan Body dan Header
Saat menggunakan Fetch API di JavaScript, Anda dapat menyertakan header dan body dalam permintaan GET Anda. Namun, penting untuk dicatat bahwa menurut spesifikasi HTTP/1.1, permintaan GET seharusnya tidak menyertakan body. Meskipun beberapa server mungkin menerimanya, yang lain mungkin menolak atau mengabaikannya.
Berikut adalah contoh bagaimana Anda dapat menyusun permintaan fetch dengan header:
fetch('https://api.example.com/data', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN_HERE'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch((error) => {
console.error('Error:', error);
});
Dalam contoh ini, kita mengirim permintaan GET ke 'https://api.example.com/data'. Kita menyertakan dua header: 'Content-Type' dan 'Authorization'. Header 'Content-Type' menunjukkan bahwa kita mengirim data JSON. Header 'Authorization' menyertakan token bearer untuk otentikasi.
Jika Anda ingin menyertakan body dalam permintaan fetch Anda, Anda mungkin ingin menggunakan metode HTTP yang berbeda, seperti POST. Berikut adalah contoh:
fetch('https://api.example.com/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN_HERE'
},
body: JSON.stringify({
key1: 'value1',
key2: 'value2'
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch((error) => {
console.error('Error:', error);
});
Dalam contoh ini, kita mengirim permintaan POST alih-alih permintaan GET. Kita menyertakan header yang sama, tetapi kita juga menyertakan body. Body adalah string JSON yang mewakili objek JavaScript.

Cara Mengirim Permintaan GET dengan Body dan Header Menggunakan Apidog
Apidog adalah alat yang ampuh yang dapat membantu Anda mengirim permintaan GET dengan parameter body dan header dengan lebih mudah.
Dengan header:
Buka Apidog dan klik tombol Permintaan Baru.

Masukkan URL endpoint API yang ingin Anda kirimi permintaan GET, lalu klik tab Header dan pilih opsi yang Anda inginkan. Dalam contoh ini, kita memilih Authorization.

Tambahkan kredensial Anda (data aktual yang dibutuhkan untuk verifikasi server, misalnya, nama pengguna/kata sandi, token, hash)

Kirim permintaan dan analisis respons.

Apidog memudahkan untuk bekerja dengan header otorisasi, sehingga Anda dapat dengan percaya diri menguji API Anda!
Dengan Body:
Menguji permintaan GET dengan body bisa sedikit rumit karena spesifikasi HTTP secara tradisional menganggap permintaan GET sebagai idempoten (berarti mereka tidak mengubah status server). Namun, beberapa API mungkin memungkinkan perilaku khusus di mana Anda dapat menyertakan body permintaan bahkan dalam permintaan GET.
Beralih ke tab "Body" dan pilih spesifikasi body yang ingin Anda tambahkan.

Kirim permintaan dan Verifikasi bahwa kode status respons adalah ok.

Ingatlah bahwa meskipun menguji permintaan GET dengan body mungkin tidak umum, penting untuk memahami perilaku API Anda dan memastikan pengujian menyeluruh untuk semua skenario. Apidog dapat menyederhanakan proses ini dengan menyediakan alat untuk desain, debugging, dan pengujian API.
Menggunakan Apidog untuk Menghasilkan Kode Fetch Secara Otomatis
Apidog juga memungkinkan Anda untuk secara otomatis menghasilkan kode Fetch untuk membuat permintaan HTTP. Berikut adalah cara menggunakan Apidog untuk menghasilkan kode Fetch:
- Masukkan header atau parameter string kueri apa pun yang ingin Anda kirim dengan permintaan, lalu klik tombol Hasilkan Kode.

2. Salin kode Fetch yang dihasilkan dan tempelkan ke dalam proyek Anda.

Praktik Terbaik untuk Permintaan Fetch dengan body dan header
Berikut adalah beberapa praktik terbaik untuk menggunakan Fetch API dengan body dan header:
- Gunakan Promise: Fetch API dibangun di atas Promise, yang memberikan kontrol yang lebih baik atas operasi asinkron. Promise memungkinkan penanganan kesalahan yang lebih mudah, menghindari kebutuhan akan callback atau pengelolaan pendengar acara.
- Sintaks yang Lebih Sederhana: Dibandingkan dengan XMLHttpRequest, Fetch API menyediakan sintaks yang lebih modern dan intuitif. Ia menggunakan pendekatan berbasis promise yang mudah, memungkinkan pengembang untuk merantai metode dan menangani respons menggunakan async/await, menghasilkan kode yang lebih bersih dan lebih mudah dibaca.
- Penanganan Respons yang Disederhanakan: Fetch API mengembalikan objek Response yang menyediakan metode yang mudah untuk mengakses data respons, termasuk penguraian JSON, ekstraksi teks, dan membaca header respons. Ini menyederhanakan proses ekstraksi dan manipulasi data dari respons.
- Dukungan Berbagi Sumber Daya Lintas Asal (CORS): Fetch API menangani Berbagi Sumber Daya Lintas Asal (CORS) dengan lebih transparan.
- Penanganan Kesalahan: Selalu sertakan penanganan kesalahan dalam permintaan fetch Anda. Anda dapat menggunakan
.catch()
untuk menangani kesalahan apa pun yang mungkin terjadi selama operasi fetch. - Header: Saat membuat permintaan POST, penting untuk mengatur header
Content-Type
keapplication/json
jika Anda mengirim data JSON. Ini memberi tahu server jenis data apa yang diharapkan. - Body: Untuk permintaan POST, Anda dapat menggunakan properti
body
untuk meneruskan string JSON sebagai input. Perhatikan bahwa body permintaan harus berupa string JSON sementara header harus berupa objek JSON. - Stringify Data JSON Anda: Pastikan Anda stringify data JSON Anda sebelum mengirimkannya ke server. Ini mengonversi objek JavaScript menjadi string, yang kemudian dapat dikirim melalui jaringan.
Kesimpulan
Sebagai kesimpulan, proses pengambilan data dengan body dan header adalah aspek penting dari pengembangan web modern. Panduan komprehensif ini telah memberikan penyelaman mendalam ke dalam metode, teknik, dan praktik terbaik yang terlibat dalam proses ini. Kita telah menjelajahi cara menyusun permintaan, pentingnya header dalam menyampaikan metadata, dan peran body dalam mengirimkan data aktual. Memahami konsep-konsep ini adalah kunci untuk membangun aplikasi yang efisien, aman, dan kuat. Seiring dengan terus berkembangnya teknologi, demikian pula metode yang kita gunakan untuk mengambil data. Namun, prinsip-prinsip yang diuraikan dalam panduan ini akan tetap menjadi bagian mendasar dari lanskap yang selalu berubah ini. Selamat membuat kode!