Apidog

Platform Pengembangan API Kolaboratif All-in-one

Desain API

Dokumentasi API

Debug API

Mocking API

Pengujian Otomatis

Cara Membuat Permintaan GET di Node.js: Panduan untuk Pemula

Pelajari cara membuat GET request di Node.js dengan modul http & axios. Pelajari cara menangani data respons.

Ardianto Nugroho

Ardianto Nugroho

Updated on April 15, 2025

Apakah Anda ingin mempelajari cara membuat permintaan GET di Node.js? Jika ya, maka Anda berada di tempat yang tepat. Dalam postingan blog ini, saya akan menunjukkan cara menggunakan modul http bawaan dan pustaka axios populer untuk membuat permintaan GET di Node.js. Saya juga akan menjelaskan apa itu permintaan GET, mengapa penting, dan cara menangani data respons. Pada akhir postingan ini, Anda akan dapat membuat permintaan GET di Node.js seperti seorang profesional.

Apa itu Permintaan GET?

Permintaan GET adalah salah satu jenis permintaan HTTP yang paling umum. HTTP adalah singkatan dari Hypertext Transfer Protocol, yang merupakan protokol standar untuk komunikasi antara peramban web dan server web. Permintaan HTTP adalah pesan yang dikirim peramban web ke server web untuk meminta atau mengirimkan data. Respons HTTP adalah pesan yang dikirim kembali server web ke peramban web untuk mengirimkan data yang diminta atau mengonfirmasi pengiriman.

Permintaan GET adalah jenis permintaan HTTP yang meminta server web untuk mengirimkan kembali sumber daya tertentu. Misalnya, saat Anda mengetik URL di peramban web Anda, Anda membuat permintaan GET ke server web untuk mengirimkan halaman web yang terkait dengan URL tersebut. Permintaan GET juga dapat menyertakan beberapa parameter kueri, yang merupakan pasangan kunci-nilai yang memberikan informasi tambahan atau memfilter sumber daya yang diminta. Misalnya, saat Anda mencari sesuatu di Google, Anda membuat permintaan GET ke server web Google dengan beberapa parameter kueri yang menentukan istilah pencarian, bahasa, dan opsi lainnya.

Mengapa Permintaan GET Penting?

Permintaan GET penting karena merupakan cara utama untuk mengambil data dari server web. Anda dapat menggunakan permintaan GET untuk mengakses berbagai jenis data, seperti HTML, JSON, XML, gambar, video, dan lainnya. Anda juga dapat menggunakan permintaan GET untuk berinteraksi dengan API web, yang merupakan antarmuka yang memungkinkan Anda mengakses data dan layanan dari aplikasi web lain. Misalnya, Anda dapat menggunakan permintaan GET untuk mendapatkan informasi cuaca dari OpenWeatherMap API, mendapatkan informasi film dari IMDb API, atau mendapatkan gambar anjing dari Dog API.

Permintaan GET juga penting karena mudah digunakan dan diuji. Anda dapat membuat permintaan GET menggunakan peramban web apa pun, tanpa alat atau pustaka khusus. Anda juga dapat menggunakan alat seperti Postman atau Apidog untuk membuat dan menguji permintaan GET dengan parameter dan header yang berbeda. Anda juga dapat memeriksa data respons dan header menggunakan alat pengembang peramban atau antarmuka alat.

Apa itu NodeJs?

Node.js adalah lingkungan runtime JavaScript yang memungkinkan Anda menjalankan kode JavaScript di luar peramban web. Node.js didasarkan pada mesin JavaScript V8 Google Chrome, dan digunakan untuk membangun aplikasi web, terutama yang intensif data dan real-time. Node.js juga memiliki pustaka modul dan paket yang besar yang dapat Anda gunakan untuk menambahkan fungsionalitas ke proyek Anda. Beberapa manfaat dari Node.js adalah:

  • Cepat dan terukur, berkat sifat asinkron dan berbasis peristiwa.
  • Lintas platform dan sumber terbuka, yang berarti Anda dapat menjalankannya di berbagai sistem operasi dan berkontribusi pada pengembangannya.
  • Konsisten dan terpadu, karena Anda dapat menggunakan bahasa yang sama untuk front-end dan back-end aplikasi web Anda.
NodeJs Website

Cara Membuat Permintaan GET di Node.js Menggunakan Modul http?

Node.js adalah lingkungan runtime JavaScript yang memungkinkan Anda menjalankan kode JavaScript di luar peramban web. Node.js sering digunakan untuk membuat server web, aplikasi web, dan API web. Node.js juga menyediakan modul http bawaan yang memungkinkan Anda membuat permintaan dan respons HTTP.

Untuk membuat permintaan GET di Node.js menggunakan modul http, Anda perlu mengikuti langkah-langkah berikut:

  1. Impor modul http menggunakan fungsi require.
  2. Buat objek options yang berisi informasi tentang permintaan GET, seperti nama host, port, jalur, dan header.
  3. Gunakan metode http.get untuk membuat permintaan GET, dengan meneruskan objek options sebagai argumen pertama dan fungsi panggilan balik sebagai argumen kedua. Fungsi panggilan balik akan dieksekusi saat respons diterima, dan akan memiliki objek response sebagai parameternya.
  4. Gunakan objek response untuk menangani data dan header respons. Objek response adalah instance dari kelas http.IncomingMessage, yang mengimplementasikan antarmuka ReadableStream. Ini berarti bahwa Anda dapat menggunakan objek response sebagai aliran data, dan mendengarkan peristiwa seperti data, end, dan error. Anda juga dapat menggunakan properti response.statusCode untuk mendapatkan kode status respons, dan properti response.headers untuk mendapatkan header respons.
  5. Gunakan metode response.on untuk mendaftarkan pendengar peristiwa untuk objek response. Misalnya, Anda dapat menggunakan metode response.on('data', callback) untuk mendengarkan peristiwa data, yang akan dipancarkan saat sebagian data diterima. Fungsi panggilan balik akan memiliki objek chunk sebagai parameternya, yang merupakan buffer data. Anda dapat menggunakan metode chunk.toString() untuk mengonversi buffer menjadi string, dan menambahkannya ke variabel untuk menyimpan seluruh data respons. Anda juga dapat menggunakan metode response.on('end', callback) untuk mendengarkan peristiwa end, yang akan dipancarkan saat respons selesai. Fungsi panggilan balik tidak akan memiliki parameter apa pun, dan Anda dapat menggunakannya untuk melakukan tindakan akhir apa pun, seperti mencatat atau mengurai data respons. Anda juga dapat menggunakan metode response.on('error', callback) untuk mendengarkan peristiwa error, yang akan dipancarkan saat terjadi kesalahan selama respons. Fungsi panggilan balik akan memiliki objek error sebagai parameternya, dan Anda dapat menggunakannya untuk menangani kesalahan, seperti mencatat atau melemparnya.

Berikut adalah contoh cara membuat permintaan GET di Node.js menggunakan modul http:

// Impor modul http
const http = require('http');

// Buat objek opsi
const options = {
  hostname: 'api.openweathermap.org',
  port: 80,
  path: '/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY',
  headers: {
    'User-Agent': 'Node.js'
  }
};

// Buat permintaan GET
http.get(options, (response) => {
  // Inisialisasi variabel untuk menyimpan data respons
  let data = '';

  // Dengarkan peristiwa data
  response.on('data', (chunk) => {
    // Tambahkan potongan ke variabel data
    data += chunk.toString();
  });

  // Dengarkan peristiwa akhir
  response.on('end', () => {
    // Catat kode status dan header
    console.log(`Status code: ${response.statusCode}`);
    console.log(`Headers: ${JSON.stringify(response.headers)}`);

    // Urai data sebagai JSON
    const weather = JSON.parse(data);

    // Catat informasi cuaca
    console.log(`City: ${weather.name}`);
    console.log(`Temperature: ${weather.main.temp}`);
    console.log(`Description: ${weather.weather[0].description}`);
  });

  // Dengarkan peristiwa kesalahan
  response.on('error', (error) => {
    // Lempar kesalahan
    throw error;
  });
});

Cara Membuat Permintaan GET di Node.js Menggunakan Pustaka axios?

Modul http adalah modul tingkat rendah yang menyediakan fungsionalitas dasar untuk membuat permintaan dan respons HTTP. Namun, jika Anda ingin menggunakan modul tingkat lebih tinggi dan lebih ramah pengguna, Anda dapat menggunakan pustaka axios. Axios adalah pustaka populer dan kuat yang memungkinkan Anda membuat permintaan HTTP dan menangani respons menggunakan janji dan sintaks async/await. Axios juga mendukung fitur seperti interseptor, transformer, batas waktu, token pembatalan, dan lainnya.

Untuk membuat permintaan GET di Node.js menggunakan pustaka axios, Anda perlu mengikuti langkah-langkah berikut:

  1. Instal pustaka axios menggunakan perintah npm: npm install axios.
  2. Impor pustaka axios menggunakan fungsi require.
  3. Gunakan metode axios.get untuk membuat permintaan GET, dengan meneruskan URL sumber daya sebagai argumen pertama dan objek config opsional sebagai argumen kedua. Objek config dapat berisi informasi tentang permintaan GET, seperti header, parameter, batas waktu, dan lainnya. Metode axios.get akan mengembalikan janji, yang akan diselesaikan ke objek response atau ditolak ke objek error.
  4. Gunakan metode then untuk menangani janji yang diselesaikan, dengan meneruskan fungsi panggilan balik sebagai argumen pertama. Fungsi panggilan balik akan memiliki objek response sebagai parameternya, yang berisi data respons, status, header, dan lainnya. Anda dapat menggunakan properti response.data untuk mengakses data respons, dan properti response.status untuk mengakses kode status respons. Anda juga dapat menggunakan metode catch untuk menangani janji yang ditolak, dengan meneruskan fungsi panggilan balik sebagai argumen pertama. Fungsi panggilan balik akan memiliki objek error sebagai parameternya, yang berisi pesan kesalahan, kode, permintaan, dan respons. Anda dapat menggunakan properti error.response untuk mengakses objek respons, dan properti error.request untuk mengakses objek permintaan.
  5. Atau, Anda dapat menggunakan sintaks async/await untuk membuat permintaan GET dan menangani respons. Untuk melakukan ini, Anda perlu menggunakan kata kunci async sebelum fungsi yang berisi permintaan GET, dan kata kunci await sebelum metode axios.get. Ini akan memungkinkan Anda menulis kode asinkron secara sinkron, dan menetapkan objek response ke variabel. Anda kemudian dapat menggunakan blok try/catch untuk menangani kesalahan apa pun yang mungkin terjadi selama permintaan GET.

Berikut adalah contoh cara membuat permintaan GET di Node.js menggunakan pustaka axios:

// Impor pustaka axios
const axios = require('axios');

// Buat permintaan GET menggunakan metode then
axios.get('http://api.openweathermap.org/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY', {
  headers: {
    'User-Agent': 'Node.js'
  }
}).then((response) => {
// Catat kode status dan header
  console.log(`Status code: ${response.status}`);
  console.log(`Headers: ${JSON.stringify(response.headers)}`);

  // Catat informasi cuaca
  console.log(`City: ${response.data.name}`);
  console.log(`Temperature: ${response.data.main.temp}`);
  console.log(`Description: ${response.data.weather[0].description}`);
}).catch((error) => {
  // Catat pesan dan kode kesalahan
  console.log(`Error message: ${error.message}`);
  console.log(`Error code: ${error.code}`);

  // Catat status dan data respons jika tersedia
  if (error.response) {
    console.log(`Response status: ${error.response.status}`);
    console.log(`Response data: ${JSON.stringify(error.response.data)}`);
  }

  // Catat metode dan jalur permintaan jika tersedia
  if (error.request) {
    console.log(`Request method: ${error.request.method}`);
    console.log(`Request path: ${error.request.path}`);
  }
});

// Buat permintaan GET menggunakan sintaks async/await
async function getWeather() {
  try {
    // Tunggu permintaan GET dan tetapkan objek respons ke variabel
    const response = await axios.get('http://api.openweathermap.org/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY', {
      headers: {
        'User-Agent': 'Node.js'
      }
    });

    // Catat kode status dan header
    console.log(`Status code: ${response.status}`);
    console.log(`Headers: ${JSON.stringify(response.headers)}`);

    // Catat informasi cuaca
    console.log(`City: ${response.data.name}`);
    console.log(`Temperature: ${response.data.main.temp}`);
    console.log(`Description: ${response.data.weather[0].description}`);
  } catch (error) {
    // Catat pesan dan kode kesalahan
    console.log(`Error message: ${error.message}`);
    console.log(`Error code: ${error.code}`);

    // Catat status dan data respons jika tersedia
    if (error.response) {
      console.log(`Response status: ${error.response.status}`);
      console.log(`Response data: ${JSON.stringify(error.response.data)}`);
    }

    // Catat metode dan jalur permintaan jika tersedia
    if (error.request) {
      console.log(`Request method: ${error.request.method}`);
      console.log(`Request path: ${error.request.path}`);
    }
  }
}

// Panggil fungsi getWeather
getWeather();

Cara Menangani Data Respons di Node.js?

Setelah Anda membuat permintaan GET di Node.js dan menerima respons, Anda mungkin ingin melakukan sesuatu dengan data respons. Misalnya, Anda mungkin ingin menampilkan data di konsol, menyimpan data ke file, mengurai data sebagai JSON atau XML, atau menggunakan data untuk tujuan lain.

Bergantung pada jenis dan format data respons, Anda mungkin perlu menggunakan metode dan modul yang berbeda untuk menangani data. Berikut adalah beberapa skenario umum dan cara menanganinya:

  • Jika data respons adalah string, Anda cukup menggunakan metode console.log untuk menampilkan data di konsol, atau metode fs.writeFile untuk menyimpan data ke file. Modul fs adalah modul bawaan yang memungkinkan Anda bekerja dengan sistem file di Node.js. Anda dapat mengimpor modul fs menggunakan fungsi require, dan menggunakan metode fs.writeFile untuk menulis data ke file, dengan meneruskan nama file, data, dan fungsi panggilan balik sebagai argumen. Fungsi panggilan balik akan memiliki objek error sebagai parameternya, dan Anda dapat menggunakannya untuk menangani kesalahan apa pun yang mungkin terjadi selama proses penulisan file.
  • Jika data respons adalah buffer, Anda dapat menggunakan metode buffer.toString untuk mengonversi buffer menjadi string, dan kemudian menggunakan metode yang sama seperti di atas untuk menampilkan atau menyimpan data. Buffer adalah tipe data biner yang mewakili urutan byte. Buffer sering digunakan untuk menangani data biner, seperti gambar, video, atau file terkompresi. Anda dapat menggunakan metode buffer.toString untuk mengonversi buffer menjadi string, dengan meneruskan argumen pengodean opsional untuk menentukan pengodean karakter string. Pengodean default adalah utf8, yang merupakan pengodean paling umum untuk data teks.
  • Jika data respons adalah JSON, Anda dapat menggunakan metode JSON.parse untuk mengurai data sebagai objek JavaScript, dan kemudian menggunakan properti dan metode objek untuk mengakses dan memanipulasi data. JSON adalah singkatan dari JavaScript Object Notation, yang merupakan format standar untuk bertukar dan menyimpan data. Data JSON adalah string yang mengikuti sintaks tertentu, yang terdiri dari pasangan kunci-nilai yang diapit oleh kurung kurawal, dan array yang diapit oleh kurung siku. Anda dapat menggunakan metode JSON.parse untuk mengurai string JSON sebagai objek JavaScript, dengan meneruskan string JSON sebagai argumen. Metode ini akan mengembalikan objek JavaScript yang dapat Anda gunakan seperti objek lainnya.
  • Jika data respons adalah XML, Anda dapat menggunakan pustaka xml2js untuk mengurai data sebagai objek JavaScript, dan kemudian menggunakan properti dan metode objek untuk mengakses dan memanipulasi data. XML adalah singkatan dari Extensible Markup Language, yang merupakan format standar lain untuk bertukar dan menyimpan data. Data XML adalah string yang mengikuti sintaks tertentu, yang terdiri dari elemen yang diapit oleh tag, atribut yang diapit oleh tanda kutip, dan konten teks. Pustaka xml2js adalah pustaka pihak ketiga yang memungkinkan Anda mengonversi data XML ke objek JavaScript dan sebaliknya. Anda dapat menginstal pustaka xml2js menggunakan perintah npm: npm install xml2js. Anda dapat mengimpor pustaka xml2js menggunakan fungsi require, dan menggunakan metode xml2js.parseString untuk mengurai string XML sebagai objek JavaScript, dengan meneruskan string XML dan fungsi panggilan balik sebagai argumen. Fungsi panggilan balik akan memiliki objek error dan objek result sebagai parameternya, dan Anda dapat menggunakannya untuk menangani kesalahan apa pun atau mengakses objek yang diurai.

Cara Menguji Permintaan GET HTTP NodeJs Menggunakan Apidog?

Untuk Menguji permintaan GET HTTP menggunakan Apidog, Anda perlu mengikuti langkah-langkah sederhana berikut:

  1. Buka Apidog dan klik tombol "Permintaan Baru" untuk membuat permintaan baru.
Select new request

2. Pilih "GET" sebagai metode permintaan.

Select get method

3. Masukkan URL titik akhir API

Enter the URL op the API

Kemudian klik tombol "Kirim" untuk mengirim permintaan ke API.

Send the request and analyse the answer

Seperti yang Anda lihat, Apidog menunjukkan kepada Anda URL, parameter, header, dan isi permintaan, serta status, header, dan isi respons. Anda juga dapat melihat waktu respons, ukuran, dan format permintaan dan respons, dan membandingkannya dengan API web yang berbeda.

Kesimpulan

Dalam postingan blog ini, saya telah menunjukkan cara membuat permintaan GET di Node.js menggunakan modul http dan pustaka axios. Saya juga telah menunjukkan cara menangani data respons dalam format dan skenario yang berbeda. Saya harap Anda telah mempelajari sesuatu yang bermanfaat dan menikmati membaca postingan ini.

Terima kasih telah membaca dan selamat membuat kode!

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)Tutorial

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

Ardianto Nugroho

April 15, 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan KomprehensifTutorial

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

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

Ardianto Nugroho

April 11, 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat LanjutTutorial

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

Ardianto Nugroho

April 11, 2025