Node http request
http request
düğümü, dış web hizmetlerine veya API'lere HTTP istekleri gerçekleştirmek için tasarlanmıştır. Birden fazla HTTP yöntemi, veri türleri, kimlik doğrulama ve isteklerin ve yanıtların esnek yönetimini destekler.
http request
düğümü için ayarlar
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 Verilerini 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 al.POST
: Veri gönder.PUT
: Veriyi güncelle.DELETE
: Veriyi sil.PATCH
: Veriyi kısmen güncelle.HEAD
: Yanıt başlıklarını al.OPTIONS
: API hakkında bilgi al.
Örnek:
- Yöntem:
POST
3. Bağlantı
İsteğin gönderileceği statik bir URL belirtmek için bir alan.
Adres dinamik olarak ayarlanacaksa, msg.url
içinde geçirilebilir.
Ö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:
-
Yoksay:
Giriş verileri istekte kullanılmayacaktır.msg.payload
varsa, yoksayılacaktır.Örnek:
Eğermsg.payload
bir JSON nesnesi içeriyorsa, istek içinde yer almayacaktır.
-
Sorgu parametrelerine ekle:
msg.payload
içindeki veriler sorgu parametrelerine dönüştürülecek ve URL'ye eklenecektir.Örnek:
Eğermsg.payload
şunları içeriyorsa:{
"key1": "value1",
"key2": "value2"
}Eğer Bağlantı
http://example.com/api
olarak belirtilmişse, son istek şöyle olacaktır:
GET http://example.com/api?key1=value1&key2=value2
.
-
İ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 gönderildiğiPOST
,PUT
vePATCH
gibi yöntemler için uygundur.Örnek:
Eğermsg.payload
şunları içeriyorsa:{
"name": "John Doe",
"email": "john.doe@example.com"
}Eğer istek yöntemi
POST
ise, veriler uygun içerikle isteğin gövdesinde gönderilecektir.
5. Dönüş
Düğümün sunucudan gelen yanıtı hangi formatta işleyeceğini tanımlar.
Seçenekler:
- UTF-8 dizesi: Yanıt bir dizeye dönüştürülür (varsayılan).
- Buffer: Yanıt bir
Buffer
nesnesi olarak döndürülür (görüntüler veya dosyalar gibi ikili veriler için yararlıdır). - JSON: Sunucu yanıtı JSON formatındaysa, otomatik olarak bir JavaScript nesnesine dönüştürülür.
Örnek:
- Eğer
JSON
seçilirse, yanıt:şu şekilde dönüştürülür:{"status": "ok", "value": 42}
msg.payload = { status: "ok", value: 42 };
6. Kimlik Doğrulama
Düğüm, yerleşik kimlik doğrulama mekanizmalarını destekler.
Temel Kimlik Doğrulama
- Kullanıcı Adı: Kullanıcı adı.
- Şifre: Şifre.
Bearer Token
- Token: Erişim belirteci.
Digest
- Kullanıcı Adı: Kullanıcı adı.
- Şifre: Şifre.
Giriş Verileri
http request
düğümü, aşağıdaki parametrelerle bir mesaj nesnesi msg
kabul eder:
- msg.url: İstek için URL (düğüm ayarlarında belirtilmemişse).
- msg.method: HTTP yöntemi (düğüm ayarlarında ayarlanmamışsa).
- msg.payload: İsteğin gövdesi (kullanılan
POST
,PUT
,PATCH
yöntemleri için). - msg.headers: HTTP istek başlıkları (nesne).
Çıkış Verileri
Düğüm, gerçekleştirilen istek hakkında bilgi içeren bir msg
nesnesi döndürür:
- msg.payload: Sunucudan gelen veri yanıtı.
- msg.statusCode: Yanıtın HTTP durum kodu (örneğin,
200
veya404
). - msg.headers: Yanıt başlıkları.
- msg.responseUrl: İsteğin yapıldığı URL.
- msg.error: Hata açıklaması (istek başarısız olduysa).
Kullanım Örnekleri
Örnek 1: GET isteği gerçekleştirme
Düğüm ayarları:
- Yöntem:
GET
- URL:
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 JSON döndürecektir.
Örnek 2: POST ile veri gönderme
Düğüm ayarları:
- Yöntem:
POST
- URL:
https://api.example.com/devices
- Veri:
JSON
Akış:
[function] ---> [http request] ---> [debug]
function
düğümündeki kod:
msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;
Sonuç: Veri gönderilecek ve düğüm sunucunun yanıtını döndürecektir.
Örnek 3: Dinamik URL ve kimlik doğrulama
Düğüm ayarları:
- URL: (boş bırakın)
Akış:
[function] ---> [http request] ---> [debug]
function
düğümündeki 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 yapacaktır.