Lewati ke konten utama

Node http request

Node http request dirancang untuk melakukan permintaan HTTP ke layanan web atau API eksternal. Node ini mendukung berbagai metode HTTP, tipe data, otentikasi, dan manajemen permintaan serta respons yang fleksibel.


Pengaturan untuk node http request

IMG2

1. Nama

Sebuah kolom untuk menentukan nama node.
Nama ini ditampilkan di ruang kerja dan membantu untuk dengan mudah mengidentifikasi node.
Jika dibiarkan kosong, node akan disebut http request.

Contoh:

  • Nama node: Ambil Data Cuaca

2. Metode

Metode HTTP yang akan digunakan untuk permintaan. Pilihan metode tergantung pada jenis operasi yang perlu dilakukan.

Metode yang tersedia:

  • GET: Mengambil data.
  • POST: Mengirim data.
  • PUT: Memperbarui data.
  • DELETE: Menghapus data.
  • PATCH: Memperbarui data secara parsial.
  • HEAD: Mengambil header respons.
  • OPTIONS: Mendapatkan informasi tentang API.

Contoh:

  • Metode: POST

3. Tautan

Sebuah kolom untuk menentukan URL statis yang akan dikirim permintaan.
Jika alamat perlu diatur secara dinamis, dapat diteruskan dalam msg.url.

Contoh:

  • Tautan: https://api.example.com/data

4. Data

Menentukan bagaimana data input akan ditambahkan ke permintaan HTTP. Opsi berikut tersedia:

  1. Abaikan:
    Data input tidak akan digunakan dalam permintaan. msg.payload, jika ada, akan diabaikan.

    Contoh:
    Jika msg.payload berisi objek JSON, itu tidak akan disertakan dalam permintaan.


  1. Tambahkan ke parameter kueri:
    Data dari msg.payload akan diubah menjadi parameter kueri dan ditambahkan ke URL.

    Contoh:
    Jika msg.payload berisi:

    {
    "key1": "value1",
    "key2": "value2"
    }

    Jika Tautan ditentukan sebagai http://example.com/api, permintaan akhir akan menjadi:
    GET http://example.com/api?key1=value1&key2=value2.


  1. Kirim sebagai tubuh permintaan:
    Data dari msg.payload akan dikirim dalam tubuh permintaan. Opsi ini cocok untuk metode seperti POST, PUT, dan PATCH, di mana data sering dikirim dalam tubuh.

    Contoh:
    Jika msg.payload berisi:

    {
    "name": "John Doe",
    "email": "john.doe@example.com"
    }

    Jika metode permintaan adalah POST, data akan dikirim dalam tubuh permintaan dengan konten yang sesuai.

5. Kembali

Menentukan format di mana node akan memproses respons dari server.

Opsi:

  • String UTF-8: Respons diubah menjadi string (default).
  • Buffer: Respons dikembalikan sebagai objek Buffer (berguna untuk data biner seperti gambar atau file).
  • JSON: Jika respons server dalam format JSON, itu secara otomatis diubah menjadi objek JavaScript.

Contoh:

  • Jika JSON dipilih, respons:
    {"status": "ok", "value": 42}
    diubah menjadi:
    msg.payload = { status: "ok", value: 42 };

6. Otentikasi

Node mendukung mekanisme otentikasi bawaan.

Basic Auth

  • Nama Pengguna: Nama pengguna.
  • Kata Sandi: Kata sandi.

Bearer Token

  • Token: Token akses.

Digest

  • Nama Pengguna: Nama pengguna.
  • Kata Sandi: Kata sandi.

Data Input

Node http request menerima objek pesan msg dengan parameter berikut:

  1. msg.url: URL untuk permintaan (jika tidak ditentukan dalam pengaturan node).
  2. msg.method: Metode HTTP (jika tidak diatur dalam pengaturan node).
  3. msg.payload: Tubuh permintaan (digunakan untuk metode POST, PUT, PATCH).
  4. msg.headers: Header permintaan HTTP (objek).

Data Output

Node mengembalikan objek msg dengan informasi tentang permintaan yang dieksekusi:

  1. msg.payload: Data respons dari server.
  2. msg.statusCode: Kode status HTTP dari respons (misalnya, 200 atau 404).
  3. msg.headers: Header respons.
  4. msg.responseUrl: URL yang dituju oleh permintaan.
  5. msg.error: Deskripsi kesalahan (jika permintaan gagal).

Contoh Penggunaan

Contoh 1: Melakukan permintaan GET

Pengaturan Node:

  • Metode: GET
  • URL: https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London

Alur:

[inject] ---> [http request] ---> [debug]

Hasil: Node akan mengembalikan JSON dengan cuaca saat ini.


Contoh 2: Mengirim data melalui POST

Pengaturan Node:

  • Metode: POST
  • URL: https://api.example.com/devices
  • Data: JSON

Alur:

[function] ---> [http request] ---> [debug]

Kode di node function:

msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;

Hasil: Data akan dikirim, dan node akan mengembalikan respons dari server.


Contoh 3: URL dinamis dan otentikasi

Pengaturan Node:

  • URL: (biarkan kosong)

Alur:

[function] ---> [http request] ---> [debug]

Kode di node function:

msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;

Hasil: Node akan melakukan permintaan ke URL yang ditentukan dengan token otentikasi.