Węzeł http request
Węzeł http request
jest przeznaczony do wykonywania zapytań HTTP do zewnętrznych usług internetowych lub API. Obsługuje wiele metod HTTP, typów danych, uwierzytelnianie oraz elastyczne zarządzanie zapytaniami i odpowiedziami.
Ustawienia węzła http request
1. Nazwa
Pole do podania nazwy węzła.
Nazwa jest wyświetlana w obszarze roboczym i pomaga łatwo zidentyfikować węzeł.
Jeśli pozostawisz puste, węzeł będzie nazywał się http request
.
Przykład:
- Nazwa węzła:
Pobierz dane pogodowe
2. Metoda
Metoda HTTP, która będzie używana do zapytania. Wybór metody zależy od rodzaju operacji, którą należy wykonać.
Dostępne metody:
GET
: Pobieranie danych.POST
: Wysyłanie danych.PUT
: Aktualizacja danych.DELETE
: Usuwanie danych.PATCH
: Częściowa aktualizacja danych.HEAD
: Pobieranie nagłówków odpowiedzi.OPTIONS
: Pobieranie informacji o API.
Przykład:
- Metoda:
POST
3. Link
Pole do podania statycznego adresu URL, do którego będzie wysłane zapytanie.
Jeśli adres należy podać dynamicznie, można go przekazać w msg.url
.
Przykład:
- Link:
https://api.example.com/data
4. Dane
Określa, jak dane wejściowe będą dodawane do zapytania HTTP. Dostępne są następujące opcje:
-
Ignoruj:
Dane wejściowe nie będą używane w zapytaniu. Polemsg.payload
, jeśli istnieje, zostanie zignorowane.Przykład:
Jeśli wmsg.payload
znajduje się obiekt JSON, nie zostanie on uwzględniony w zapytaniu.
-
Dodaj do parametrów zapytania:
Dane zmsg.payload
zostaną przekształcone w parametry ciągu zapytania (Query Parameters) i dodane do URL.Przykład:
Jeślimsg.payload
zawiera:{
"key1": "value1",
"key2": "value2"
}Jeśli Link jest podany jako
http://example.com/api
, to końcowe zapytanie będzie:
GET http://example.com/api?key1=value1&key2=value2
.
-
Wyślij jako ciało zapytania:
Dane zmsg.payload
zostaną wysłane w ciele zapytania. Ta opcja jest odpowiednia dla metod, takich jakPOST
,PUT
iPATCH
, gdzie dane często są przekazywane w ciele.Przykład:
Jeślimsg.payload
zawiera:{
"name": "John Doe",
"email": "john.doe@example.com"
}Jeśli metoda zapytania to
POST
, dane zostaną wysłane w ciele zapytania z odpowiednią zawartością.
5. Zwróć
Określa, w jakim formacie węzeł przetworzy odpowiedź z serwera.
Opcje:
- UTF-8 string: Odpowiedź jest przekształcana w ciąg (domyślnie).
- Buffer: Odpowiedź jest zwracana jako obiekt
Buffer
(przydatne dla danych binarnych, takich jak obrazy lub pliki). - JSON: Jeśli odpowiedź serwera jest w formacie JSON, jest automatycznie przekształcana w obiekt JavaScript.
Przykład:
- Jeśli wybrano
JSON
, odpowiedź:Jest przekształcana w:{"status": "ok", "value": 42}
msg.payload = { status: "ok", value: 42 };
6. Uwierzytelnianie
Węzeł obsługuje wbudowane mechanizmy uwierzytelniania.
Basic Auth
- Nazwa użytkownika: Nazwa użytkownika.
- Hasło: Hasło.
Bearer Token
- Token: Token dostępu.
Digest
- Nazwa użytkownika: Nazwa użytkownika.
- Hasło: Hasło.
Dane wejściowe
Węzeł http request
przyjmuje obiekt wiadomości msg
z parametrami:
- msg.url: URL do zapytania (jeśli nie jest podany w ustawieniach węzła).
- msg.method: Metoda HTTP (jeśli nie jest określona w ustawieniach węzła).
- msg.payload: Ciało zapytania (używane dla metod
POST
,PUT
,PATCH
). - msg.headers: Nagłówki zapytania HTTP (obiekt).
Dane wyjściowe
Węzeł zwraca obiekt msg
z informacjami o wykonanym zapytaniu:
- msg.payload: Dane odpowiedzi z serwera.
- msg.statusCode: Kod statusu HTTP odpowiedzi (np.
200
lub404
). - msg.headers: Nagłówki odpowiedzi.
- msg.responseUrl: URL, do którego wykonano zapytanie.
- msg.error: Opis błędu (jeśli zapytanie zakończyło się niepowodzeniem).
Przykłady użycia
Przykład 1: Wykonanie zapytania GET
Ustawienia węzła:
- Metoda:
GET
- URL:
https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London
Przepływ:
[inject] ---> [http request] ---> [debug]
Wynik: Węzeł zwróci JSON z aktualną pogodą.
Przykład 2: Wysyłanie danych przez POST
Ustawienia węzła:
- Metoda:
POST
- URL:
https://api.example.com/devices
- Dane:
JSON
Przepływ:
[function] ---> [http request] ---> [debug]
Kod w węźle function
:
msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;
Wynik: Dane zostaną wysłane, a węzeł zwróci odpowiedź serwera.
Przykład 3: Dynamiczny URL i uwierzytelnianie
Ustawienia węzła:
- URL: (pozostawić pustym)
Przepływ:
[function] ---> [http request] ---> [debug]
Kod w węźle function
:
msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;
Wynik: Węzeł wykona zapytanie do podanego URL z tokenem uwierzytelniającym.