Request():post()
Menjalankan permintaan POST dan mengembalikan objek Response. Metode ini digunakan untuk mengirim data ke server, biasanya untuk membuat sumber daya baru.
Tanda Tangan
post(): Response
Mengembalikan
Response - Objek respons yang berisi respons server
Deskripsi
Metode post() mengirimkan permintaan HTTP POST ke URL yang ditentukan saat membuat objek Request. Permintaan POST biasanya digunakan untuk mengirimkan data ke server untuk diproses, seperti membuat catatan baru, mengirimkan formulir, atau mengunggah data.
Gunakan setParameter() untuk menambahkan data ke body permintaan sebelum memanggil post().
Contoh
Permintaan POST Dasar
-- Create a POST request with parameters
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:post()
Permintaan POST dengan Header JSON
-- POST request with JSON content type
local response = Request("https://api.example.com/posts")
:setHeader("Content-Type", "application/json")
:setHeader("Authorization", "Bearer your-token-here")
:setParameter("title", "My New Post")
:setParameter("body", "This is the content of my post")
:setParameter("userId", "1")
:post()
Memproses Respons POST
-- Make the POST request and handle the response
local response = Request("https://api.example.com/comments")
:setHeader("Content-Type", "application/json")
:setParameter("postId", "1")
:setParameter("name", "Anonymous User")
:setParameter("email", "user@example.com")
:setParameter("body", "Great article!")
:post()
-- Get the response data
local data = response:getData()
local statusCode = response:getResponseCode()
if statusCode == 201 then
print("Comment created successfully!")
print("Response: " .. data)
else
print("Failed to create comment. Status: " .. statusCode)
end
Pengiriman Formulir dengan POST
-- Simulate a form submission
local response = Request("https://example.com/login")
:setHeader("Content-Type", "application/x-www-form-urlencoded")
:setParameter("username", "myusername")
:setParameter("password", "mypassword")
:setParameter("remember", "true")
:post()
local loginResponse = response:getData()
local status = response:getResponseCode()
if status == 200 then
print("Login successful!")
else
print("Login failed. Status: " .. status)
end
Catatan
- Gunakan
setParameter()untuk menambahkan data ke body permintaan sebelum memanggilpost() - Permintaan POST dapat memiliki body permintaan yang berisi data yang akan dikirim
- Metode mengembalikan objek Response yang dapat Anda gunakan untuk mengakses data respons dan kode status
- Untuk pembuatan sumber daya yang berhasil, server biasanya mengembalikan kode status 201
- Selalu periksa kode status respons untuk memastikan permintaan berhasil
- Permintaan POST tidak idempoten - melakukan permintaan yang sama berkali-kali dapat membuat beberapa sumber daya