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

Request():get()

Thực thi một yêu cầu GET và trả về một đối tượng Response. Phương thức này được dùng để lấy dữ liệu từ một URL cụ thể.

Khai báo

get(): Response

Trả về

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

Mô tả

Phương thức get() gửi một yêu cầu HTTP GET đến URL được chỉ định khi tạo đối tượng Request. Yêu cầu GET thường được dùng để lấy dữ liệu từ máy chủ mà không làm thay đổi bất kỳ dữ liệu nào hiện có.

Ví dụ

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

-- Tạo một yêu cầu GET đến một API endpoint
local response = Request("https://api.example.com/users"):get()

Yêu cầu GET với Headers tùy chỉnh

-- Yêu cầu GET kèm header xác thực
local response = Request("https://api.example.com/protected-data")
:setHeader("Authorization", "Bearer your-token-here")
:setHeader("Accept", "application/json")
:get()

Xử lý phản hồi GET

-- Thực hiện yêu cầu và xử lý phản hồi
local response = Request("https://jsonplaceholder.typicode.com/posts/1"):get()

-- Lấy dữ liệu phản hồi dưới dạng chuỗi
local data = response:getData()

-- Lấy mã trạng thái HTTP
local statusCode = response:getResponseCode()

if statusCode == 200 then
print("Yêu cầu thành công!")
print("Dữ liệu phản hồi: " .. data)
else
print("Yêu cầu thất bại với mã trạng thái: " .. statusCode)
end

Yêu cầu GET với tham số truy vấn

-- Đối với yêu cầu GET có tham số truy vấn, hãy đưa chúng vào URL
local response = Request("https://api.example.com/search?q=lua&limit=10"):get()
local results = response:getData()

Lưu ý

  • Yêu cầu GET không nên có phần thân (request body). Nếu bạn cần gửi dữ liệu, hãy dùng POST() thay thế
  • Phương thức trả về một đối tượng Response mà bạn có thể dùng để truy cập dữ liệu phản hồi và mã trạng thái
  • Luôn kiểm tra mã trạng thái phản hồi để đảm bảo yêu cầu đã thành công
  • Yêu cầu GET là idempotent, nghĩa là việc thực hiện cùng một yêu cầu nhiều lần sẽ cho ra kết quả như nhau