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
1. Tên
Một 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 nhận diện node.
Nếu để trống, node sẽ được gọi là http in
.
Ví dụ:
- Tên node:
lấy liên kết thanh toán
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 được nhận tại đường dẫn đã chỉ định với phương thức đã chọn, node http in
tạo ra một 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ố, 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 của 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. Nó thường được chuyển đến nodehttp response
để gửi phản hồi trở lạ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ã cho 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ã cho 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 của yêu cầu POST và trả về phản hồi xác nhận.
Ví dụ 3: Sử dụng 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ã cho node function
:
const deviceId = msg.req.params.id;
msg.payload = { deviceId: deviceId, status: "active" };
return msg;
Kết quả:
{
"deviceId": "123",
"status": "active"
}