Ana içeriğe geç

HTTP İsteği Düğümü

HTTP isteği düğümü, dış web hizmetlerine veya API'lere HTTP istekleri gerçekleştirmek için tasarlanmıştır. Birden fazla HTTP yöntemini, veri iletim yöntemlerini, kimlik doğrulamayı ve istekler ile yanıtlar üzerinde esnek kontrol sağlamaktadır.


HTTP İsteği Düğümü Ayarları

IMG2

1. İsim

Düğümün adını belirtmek için bir alan.
İsim, çalışma alanında görüntülenir ve düğümü kolayca tanımlamaya yardımcı olur.
Boş bırakılırsa, düğüm http request olarak adlandırılacaktır.

Örnek:

  • Düğüm adı: Hava Durumu Verisi Al

2. Yöntem

İstek için kullanılacak HTTP yöntemi. Yöntem seçimi, gerçekleştirilmesi gereken işlem türüne bağlıdır.

Mevcut Yöntemler:

  • GET: Veri alma.
  • POST: Veri gönderme.
  • PUT: Veri güncelleme.
  • DELETE: Veri silme.
  • HEAD: Yanıt başlıklarını alma.

Örnek:

  • Yöntem: POST

3. Bağlantı

İsteğin gönderileceği statik URL'yi belirtmek için bir alan.
Adresin dinamik olarak belirlenmesi gerekiyorsa, msg.url içinde iletilebilir.

Örnek:

  • Bağlantı: https://api.example.com/data

4. Veri

Giriş verilerinin HTTP isteğine nasıl ekleneceğini tanımlar. Aşağıdaki seçenekler mevcuttur:

  1. Yoksay (varsayılan):
    Giriş verileri istekte kullanılmayacaktır. msg.payload alanı, varsa, yoksayılacaktır.

    Örnek:
    Eğer msg.payload bir JSON nesnesi içeriyorsa, bu istek içinde yer almayacaktır.


  1. Sorgu parametrelerine ekle:
    msg.payload içindeki veriler, sorgu parametrelerine (Query Parameters) dönüştürülerek URL'ye eklenecektir.

    Örnek:
    Eğer msg.payload şunları içeriyorsa:

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

    Eğer Bağlantı http://example.com/api olarak belirtilmişse, nihai istek şöyle olacaktır:
    GET http://example.com/api?key1=value1&key2=value2.


  1. İstek gövdesi olarak gönder:
    msg.payload içindeki veriler, isteğin gövdesinde gönderilecektir. Bu seçenek, verilerin genellikle gövde içinde iletildiği POST ve PUT yöntemleri için uygundur.

    Örnek:
    Eğer msg.payload şunları içeriyorsa:

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

    Eğer istek yöntemi POST ise, veriler istek gövdesinde uygun içerikle gönderilecektir.

5. Dönüş

Düğümün sunucudan gelen yanıtı hangi formatta işleyeceğini tanımlar.

Seçenekler:

  • Dize: Yanıt bir dizeye dönüştürülür (varsayılan).
  • JSON Nesnesi: Sunucu yanıtı JSON formatındaysa, otomatik olarak bir JavaScript nesnesine dönüştürülür.
  • İkili Tampon: Yanıt, ikili bir tampon olarak döner (görüntüler veya dosyalar gibi ikili veriler için yararlıdır).

Örnek:

  • Eğer JSON Nesnesi seçilmişse, yanıt:
    {"status": "ok", "value": 42}
    Şuna dönüştürülür:
    msg.payload = { status: "ok", value: 42 };

6. Kimlik Doğrulamasını Kullan

Seçenek, yerleşik kimlik doğrulamayı etkinleştirir (varsayılan olarak kapalıdır). Etkinleştirildiğinde, formda kimlik doğrulama yöntemi için bir Tür alanı görünür (varsayılan basic):

basic

  • Kullanıcı Adı: Kullanıcı adı.
  • Şifre: Şifre.

bearer

  • Şifre: Erişim belirteci.

digest

  • Kullanıcı Adı: Kullanıcı adı.
  • Şifre: Şifre.

Giriş Verileri

HTTP isteği düğümü, aşağıdaki parametrelerle bir msg mesaj nesnesi alır:

  1. msg.url: İstek için URL (eğer düğüm ayarlarında belirtilmemişse).
  2. msg.method: HTTP yöntemi (eğer düğüm ayarlarında belirtilmemişse).
  3. msg.payload: İstek gövdesi ( POST, PUT yöntemleri için kullanılır).
  4. msg.headers: HTTP isteği başlıkları (nesne).

Çıkış Verileri

Düğüm, gerçekleştirilen istek hakkında bilgi içeren bir msg nesnesi döner:

  1. msg.payload: Sunucudan gelen yanıt verileri.
  2. msg.statusCode: Yanıtın HTTP durum kodu (örneğin, 200 veya 404).
  3. msg.headers: Yanıt başlıkları.
  4. msg.responseUrl: İsteğin yapıldığı URL.
  5. msg.error: Hata açıklaması (eğer istek başarısız olduysa).

Kullanım Örnekleri

Örnek 1: GET isteği gerçekleştirme

Düğüm Ayarları:

  • Yöntem: GET
  • Bağlantı: https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London

Akış:

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

Sonuç: Düğüm, mevcut hava durumu ile ilgili bir JSON döndürecektir.


Örnek 2: POST ile veri gönderme

Düğüm Ayarları:

  • Yöntem: POST
  • Bağlantı: https://api.example.com/devices
  • Veri: İstek gövdesi olarak gönder

Akış:

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

Düğüm function içindeki kod:

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

Sonuç: Veriler gönderilecek ve düğüm sunucudan yanıt alacaktır.


Örnek 3: Dinamik URL ve kimlik doğrulama

Düğüm Ayarları:

  • Bağlantı: (boş bırakılacak)

Akış:

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

Düğüm function içindeki kod:

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

Sonuç: Düğüm, belirtilen URL'ye kimlik doğrulama belirteci ile istek gerçekleştirecektir.