Nhảy tới nội dung

Node http in

Node 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). Node này đóng vai trò 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 cho node http in

IMG2

1. Tên

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

Ví dụ:

  • Tên node: get payment link

2. Phương thức

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

  • GET: Dùng để lấy dữ liệu.
  • POST: Dùng để gửi dữ liệu.
  • PUT: Dùng để cập nhật dữ liệu.
  • DELETE: Dùng để xóa dữ liệu.
  • PATCH: Dùng để cập nhật một phần dữ liệu.
  • OPTIONS: Dùng cho các yêu cầu để lấy siêu dữ liệu về API.

3. Liên kết

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

  • Đường dẫn bắt đầu bằng /.
  • Nó có thể bao gồm các tham số đườ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

Định dạng của tin nhắn đến

Khi một yêu cầu đến đường dẫn đã chỉ định với phương thức đã chọn, node http in tạo ra một 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ố, nội dung, 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ố yêu cầu GET.
    • msg.req.body: Nội dung yêu cầu (đối với các phương thức POST, PUT, và PATCH).
  • msg.res: Một đối tượng để quản lý phản hồi HTTP. Thường được chuyển đến node 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

Tình huống: Trả về dữ liệu nhiệt độ.

Cài đặt node:

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

Luồng:

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

Mã node 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

Tình huống: Nhận và lưu dữ liệu từ một thiết bị.

Cài đặt node:

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

Luồng:

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

Mã node function:

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

Kết quả: Node sẽ chấp nhận dữ liệu từ nội dung 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

Tình huống: Lấy dữ liệu theo ID thiết bị.

Cài đặt node:

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

Luồng:

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

Mã node function:

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

Kết quả:

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