Nút http request
Nút http request được thiết kế để thực hiện các yêu cầu HTTP đến các dịch vụ web hoặc API bên ngoài. Nó hỗ trợ nhiều phương thức HTTP, cách truyền dữ liệu, xác thực và quản lý linh hoạt các yêu cầu và phản hồi.
Cài đặt nút http request

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 request.
Ví dụ:
- Tên nút:
Lấy Dữ Liệu Thời Tiết
2. Phương thức
Phương thức HTTP sẽ được sử dụng cho yêu cầu. Việc chọn phương thức phụ thuộc vào loại thao tác cần thực hiện.
Các phương thức có sẵn:
GET: Lấy dữ liệu.POST: Gửi dữ liệu.PUT: Cập nhật dữ liệu.DELETE: Xóa dữ liệu.HEAD: Lấy tiêu đề phản hồi.
Ví dụ:
- Phương thức:
POST
3. Liên kết
Trường để chỉ định URL tĩnh mà yêu cầu sẽ được gửi đến.
Nếu địa chỉ cần được chỉ định một cách động, nó có thể được truyền vào msg.url.
Ví dụ:
- Liên kết:
https://api.example.com/data
4. Dữ liệu
Xác định cách dữ liệu đầu vào sẽ được thêm vào yêu cầu HTTP. Các tùy chọn có sẵn:
-
Bỏ qua (mặc định):
Dữ liệu đầu vào sẽ không được sử dụng trong yêu cầu. Trườngmsg.payload, nếu tồn tại, sẽ bị bỏ qua.Ví dụ:
Nếu trongmsg.payloadchứa một đối tượng JSON, nó sẽ không được bao gồm trong yêu cầu.
-
Thêm vào tham số truy vấn:
Dữ liệu từmsg.payloadsẽ được chuyển đổi thành các tham số chuỗi truy vấn (Query Parameters) và được thêm vào URL.Ví dụ:
Nếumsg.payloadchứa:{
"key1": "value1",
"key2": "value2"
}Nếu Liên kết được chỉ định là
http://example.com/api, thì yêu cầu cuối cùng sẽ là:
GET http://example.com/api?key1=value1&key2=value2.
-
Gửi dưới dạng thân yêu cầu:
Dữ liệu từmsg.payloadsẽ được gửi trong thân yêu cầu. Tùy chọn này phù hợp cho các phương thứcPOSTvàPUT, nơi dữ liệu thường được truyền trong thân.Ví dụ:
Nếumsg.payloadchứa:{
"name": "John Doe",
"email": "john.doe@example.com"
}Nếu phương thức yêu cầu là
POST, dữ liệu sẽ được gửi trong thân yêu cầu với nội dung tương ứng.
5. Trả về
Xác định định dạng mà nút sẽ xử lý phản hồi từ máy chủ.
Các tùy chọn:
- Chuỗi: Phản hồi được chuyển đổi thành chuỗi (mặc định).
- Đối tượng JSON: Nếu phản hồi từ máy chủ ở định dạng JSON, nó sẽ tự động được chuyển đổi thành đối tượng JavaScript.
- Bộ đệm nhị phân: Phản hồi được trả về dưới dạng bộ đệm nhị phân (hữu ích cho dữ liệu nhị phân, chẳng hạn như hình ảnh hoặc tệp).
Ví dụ:
- Nếu chọn
Đối tượng JSON, phản hồi:sẽ được chuyển đổi thành:{"status": "ok", "value": 42}msg.payload = { status: "ok", value: 42 };
6. Sử dụng xác thực
Hộp kiểm này kích hoạt xác thực tích hợp (mặc định tắt). Khi được bật, một trường Loại sẽ xuất hiện với phương thức xác thực (mặc định là basic):
basic
- Tên người dùng: Tên người dùng.
- Mật khẩu: Mật khẩu.
bearer
- Mật khẩu: Mã thông báo truy cập.
digest
- Tên người dùng: Tên người dùng.
- Mật khẩu: Mật khẩu.
Dữ liệu đầu vào
Nút http request nhận một đối tượng tin nhắn msg với các tham số:
- msg.url: URL cho yêu cầu (nếu không được chỉ định trong cài đặt nút).
- msg.method: Phương thức HTTP (nếu không được chỉ định trong cài đặt nút).
- msg.payload: Thân yêu cầu (được sử dụng cho các phương thức
POST,PUT). - msg.headers: Tiêu đề của yêu cầu HTTP (đối tượng).
Dữ liệu đầu ra
Nút trả về một đối tượng msg với thông tin về yêu cầu đã thực hiện:
- msg.payload: Dữ liệu phản hồi từ máy chủ.
- msg.statusCode: Mã trạng thái HTTP của phản hồi (ví dụ:
200hoặc404). - msg.headers: Tiêu đề của phản hồi.
- msg.responseUrl: URL mà yêu cầu đã được thực hiện.
- msg.error: Mô tả lỗi (nếu yêu cầu không thành công).
Ví dụ sử dụng
Ví dụ 1: Thực hiện yêu cầu GET
Cài đặt nút:
- Phương thức:
GET - Liên kết:
https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London
Luồng:
[inject] ---> [http request] ---> [debug]
Kết quả: Nút sẽ trả về JSON với thời tiết hiện tại.
Ví dụ 2: Gửi dữ liệu qua POST
Cài đặt nút:
- Phương thức:
POST - Liên kết:
https://api.example.com/devices - Dữ liệu:
Gửi dưới dạng thân yêu cầu
Luồng:
[function] ---> [http request] ---> [debug]
Mã trong nút function:
msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;
Kết quả: Dữ liệu sẽ được gửi và nút sẽ trả về phản hồi từ máy chủ.
Ví dụ 3: URL động và xác thực
Cài đặt nút:
- Liên kết: (để trống)
Luồng:
[function] ---> [http request] ---> [debug]
Mã trong nút function:
msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;
Kết quả: Nút sẽ thực hiện yêu cầu đến URL đã chỉ định với mã thông báo xác thực.