Chuyển tới nội dung chính

Request()

Một module dùng để thực hiện các yêu cầu mạng (network request) ra internet, được giới thiệu từ phiên bản 1.0.0.31.

Hàm tạo

Request(url: string)

Tham số

Tham sốKiểuMô tả
urlstringURL của trang web, có thể là https hoặc http

Phương thức

setHeader(key: string, value: string): Request

Thiết lập một header tùy chỉnh cho yêu cầu HTTP.

Tham số

Tham sốKiểuMô tả
keystringTên của header
valuestringGiá trị của header

Trả về

Request - Trả về đối tượng Request để có thể gọi phương thức liên tiếp

setParameter(key: string, value: string): Request

Thiết lập một tham số cho phần thân yêu cầu (request body) (dùng với các yêu cầu POST/PUT).

Tham số

Tham sốKiểuMô tả
keystringTên của tham số
valuestringGiá trị của tham số

Trả về

Request - Trả về đối tượng Request để có thể gọi phương thức liên tiếp

get(): Response

Thực thi yêu cầu GET và trả về một đối tượng Response.

Trả về

Response - Đối tượng phản hồi chứa kết quả từ máy chủ

post(): Response

Thực thi yêu cầu POST và trả về một đối tượng Response.

Trả về

Response - Đối tượng phản hồi chứa kết quả từ máy chủ

put(): Response

Thực thi yêu cầu PUT và trả về một đối tượng Response.

Trả về

Response - Đối tượng phản hồi chứa kết quả từ máy chủ

delete(): Response

Thực thi yêu cầu DELETE và trả về một đối tượng Response.

Trả về

Response - Đối tượng phản hồi chứa kết quả từ máy chủ

Ví dụ

Yêu cầu GET cơ bản

local response = Request("https://api.example.com/data"):get()
local data = response:getData()
local statusCode = response:getResponseCode()

Yêu cầu POST kèm Headers và Parameters

local response = Request("https://api.example.com/users")
:setHeader("Content-Type", "application/json")
:setHeader("Authorization", "Bearer token123")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:post()

Chuỗi phương thức liên tiếp

-- Các đối tượng Request hỗ trợ gọi phương thức liên tiếp (method chaining)
local response = Request("https://api.example.com/data")
:setHeader("API-Key", "your-api-key")
:setParameter("query", "search term")
:setParameter("limit", "10")
:get()