Nhảy đến nội dung

Nút http in

Nút http in được sử dụng để tạo các điểm cuối HTTP, có thể xử lý các yêu cầu HTTP đến (GET, POST, PUT và các loại khác). Nút này là điểm vào để tương tác với các hệ thống bên ngoài thông qua giao thức HTTP.

Quan trọng: Tất cả các đường dẫn được chỉ định tự động nhận tiền tố: /api/admin/workflows/endpoints/.


Cài đặt nút http in

IMG2

1. Tên

Trường để chỉ định tên của nút.
Tên sẽ hiển thị trong không gian làm việc và giúp dễ dàng xác định nút.
Nếu để trống, nút sẽ được gọi là http in.

Ví dụ:

  • Tên nút: get payment link

2. Phương thức

Phương thức HTTP mà nút sẽ xử lý. Các tùy chọn có sẵn:

  • GET: Được sử dụng để lấy dữ liệu.
  • POST: Được sử dụng để gửi dữ liệu.
  • PUT: Được sử dụng để cập nhật dữ liệu.
  • DELETE: Được sử dụng để xóa dữ liệu.
  • PATCH: Được sử dụng để cập nhật một phần dữ liệu.
  • OPTIONS: Được sử dụng để yêu cầu thông tin siêu dữ liệu về API.

3. Liên kết

Chỉ định đường dẫn (endpoint) để xử lý các yêu cầu.

  • Đường dẫn bắt đầu bằng /.
  • Có thể bao gồm các biến đường dẫn, ví dụ: /data/:id.

Ví dụ:

  • Liên kết: /get-payment-link
  • Liên kết với tham số: /get-payment-link/:orderId

4. Bảo vệ

Cờ bảo vệ điểm cuối. Mặc định được bật.

5. Ví dụ đầu ra (JSON)

Ví dụ dữ liệu mà nút truyền tiếp trong luồng, ở định dạng JSON.
Dựa trên ví dụ này, sơ đồ dữ liệu cho nút tiếp theo được xây dựng — các trường của nó xuất hiện trong khối Sơ đồ đầu vào của nút tiếp theo. Nếu trường trống hoặc JSON trong đó không hợp lệ, sơ đồ sẽ không được truyền tiếp.


Định dạng tin nhắn đầu vào

Khi yêu cầu đến đường dẫn đã chỉ định với phương thức đã chọn, nút http in tạo ra tin nhắn msg với các thuộc tính sau:

  • msg.req: Chứa đối tượng yêu cầu HTTP, bao gồm tiêu đề, tham số, thân và các dữ liệu khác.

    • msg.req.params: Các tham số đường dẫn (ví dụ, :id trong /api/data/:id).
    • msg.req.query: Các tham số GET của yêu cầu.
    • msg.req.body: Thân yêu cầu (đối với các phương thức POST, PUT và PATCH).
  • msg.res: Đối tượng để quản lý phản hồi HTTP. Thường được truyền đến nút http response để gửi phản hồi cho khách hàng.


Ví dụ sử dụng

Ví dụ 1: Xử lý yêu cầu GET

Kịch bản: Trả về dữ liệu về nhiệt độ.

Cài đặt nút:

  • Phương thức: GET
  • Liên kết: /temperature

Luồng:

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

Mã nút function:

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

Kết quả: Khách hàng gửi yêu cầu GET đến /api/admin/workflows/endpoints/temperature sẽ nhận được phản hồi JSON:

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

Ví dụ 2: Xử lý yêu cầu POST

Kịch bản: Nhận và lưu trữ dữ liệu từ thiết bị.

Cài đặt nút:

  • Phương thức: POST
  • Liên kết: /data

Luồng:

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

Mã nút function:

// Đọc dữ liệu từ thân yêu cầu
const data = msg.req.body;
msg.payload = { status: "success", receivedData: data };
return msg;

Kết quả: Nút sẽ nhận dữ liệu từ thân yêu cầu POST và trả về phản hồi xác nhận.


Ví dụ 3: Sử dụng các tham số đường dẫn

Kịch bản: Lấy dữ liệu theo ID của thiết bị.

Cài đặt nút:

  • Phương thức: GET
  • Liên kết: /device/:id

Luồng:

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

Mã nút function:

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

Kết quả:

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