მთავარ შინაარსზე გადახტომა

Узел http in

Узел http in используется для создания HTTP-эндпоинтов, которые могут обрабатывать входящие HTTP-запросы (GET, POST, PUT и другие). Этот узел — входная точка для взаимодействия с внешними системами через протокол HTTP.

Важно: Все заданные пути автоматически получают префикс: /api/admin/workflows/endpoints/.


Настройки узла http in

IMG2

1. Name

Поле для указания имени узла.
Имя отображается в рабочей области и помогает легко идентифицировать узел.
Если оставить пустым, узел будет называться http in.

Пример:

  • Имя узла: get payment link

2. Method

HTTP-метод, который узел будет обрабатывать. Доступны следующие варианты:

  • GET: გამოიყენება მონაცემების მიღებისთვის.
  • POST: გამოიყენება მონაცემების გაგზავნისთვის.
  • PUT: გამოიყენება მონაცემების განახლებისთვის.
  • DELETE: გამოიყენება მონაცემების წაშლისთვის.
  • PATCH: გამოიყენება მონაცემების ნაწილობრივი განახლებისთვის.
  • OPTIONS: გამოიყენება API-ის მეტაინფორმაციის მიღების მოთხოვნებისთვის.

Указывает путь (endpoint) для обработки запросов.

  • Путь начинается с /.
  • Может включать переменные маршрута, например: /data/:id.

Пример:

  • Link: /get-payment-link
  • Link с параметром: /get-payment-link/:orderId

Формат входного сообщения

Когда запрос поступает на указанный путь с выбранным методом, узел http in создает сообщение msg со следующими свойствами:

  • msg.req: Содержит объект HTTP-запроса, включая заголовки, параметры, тело и другие данные.
    • msg.req.params: Параметრები маршрута (например, :id в /api/data/:id).
    • msg.req.query: GET-параметრები запроса.
    • msg.req.body: Тело запроса (для методов POST, PUT и PATCH).
  • msg.res: Объект для управления HTTP-ответом. Обычно передается в узел http response для отправки ответа клиенту.

Пример использования

Пример 1: Обработка GET-запроса

Сценарий: დაბრუნება მონაცემების შესახებ ტემპერატურის.

Настройки узла:

  • Method: GET
  • Link: /temperature

Поток:

[http in] ---> [function] ---> [http response]

Код узла function:

msg.payload = { temperature: 22.5, unit: "Celsius" };
return msg;

Результат: Клиент, отправивший GET-запрос на /api/admin/workflows/endpoints/temperature, получит JSON-ответ:

{
"temperature": 22.5,
"unit": "Celsius"
}

Пример 2: Обработка POST-запроса

Сценарий: მიღება და შენახვა მონაცემების მოწყობილობიდან.

Настройки узла:

  • Method: POST
  • Link: /data

Поток:

[http in] ---> [function] ---> [http response]

Код узла function:

// Чтение данных из тела запроса
const data = msg.req.body;
msg.payload = { status: "success", receivedData: data };
return msg;

Результат: Узел примет данные из тела POST-запроса и вернет ответ с подтверждением.


Пример 3: Использование параметров маршрута

Сценарий: მონაცემების მიღება მოწყობილობის იდენტიფიკატორით.

Настройки узла:

  • Method: GET
  • Link: /device/:id

Поток:

[http in] ---> [function] ---> [http response]

Код узла function:

const deviceId = msg.req.params.id;
msg.payload = { deviceId: deviceId, status: "active" };
return msg;

Результат:

{
"deviceId": "123",
"status": "active"
}