Lewati ke konten utama

Request():setParameter()

Mengatur parameter untuk body permintaan (digunakan dengan permintaan POST/PUT/PATCH). Metode ini memungkinkan Anda menambahkan data yang akan dikirim dalam body permintaan.

Tanda Tangan

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

Parameter

ParameterTypeDescription
keystringNama parameter
valuestringNilai parameter

Mengembalikan

Request - Mengembalikan objek Request untuk rantai metode

Deskripsi

Metode setParameter() menambahkan pasangan kunci-nilai ke body permintaan. Metode ini terutama digunakan dengan permintaan POST, PUT, dan PATCH di mana Anda perlu mengirim data ke server. Anda dapat memanggil metode ini beberapa kali untuk menambahkan beberapa parameter ke body permintaan.

Contoh

POST Dasar dengan Parameter

-- Send form data with POST request
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:setParameter("age", "30")
:post()

Permintaan POST dengan Content Type JSON

-- Send JSON data with POST request
local response = Request("https://api.example.com/posts")
:setHeader("Content-Type", "application/json")
:setParameter("title", "My New Post")
:setParameter("body", "This is the content of my post")
:setParameter("userId", "1")
:post()

Permintaan PUT dengan Parameter

-- Update a resource with PUT request
local response = Request("https://api.example.com/users/123")
:setHeader("Content-Type", "application/json")
:setParameter("name", "Jane Smith")
:setParameter("email", "jane@example.com")
:setParameter("status", "active")
:put()

Permintaan PATCH dengan Pembaruan Sebagian

-- Partially update a resource with PATCH
local response = Request("https://api.example.com/users/456")
:setHeader("Content-Type", "application/json")
:setParameter("email", "newemail@example.com")
:setParameter("lastUpdated", "2023-12-01")
:patch()

Pengiriman Formulir

-- Submit a login form
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()

Query Pencarian dengan POST

-- Send search parameters via POST
local response = Request("https://api.example.com/search")
:setParameter("query", "lua programming")
:setParameter("limit", "10")
:setParameter("sort", "relevance")
:setParameter("filters", "books,tutorials")
:post()

local results = response:getData()
local status = response:getResponseCode()

if status == 200 then
print("Search results: " .. results)
else
print("Search failed with status: " .. status)
end

Struktur Data Kompleks

-- Create a complex object with multiple nested parameters
local response = Request("https://api.example.com/orders")
:setHeader("Content-Type", "application/json")
:setParameter("customerId", "12345")
:setParameter("productId", "67890")
:setParameter("quantity", "2")
:setParameter("shippingAddress", "123 Main St, City, State")
:setParameter("paymentMethod", "credit_card")
:post()

Tipe Parameter

Saat menggunakan setParameter(), semua nilai diperlakukan sebagai string. Berikut adalah kasus penggunaan umum:

Parameter TypeExampleNotes
TextsetParameter("name", "John Doe")String teks reguler
NumberssetParameter("age", "30")Angka harus diteruskan sebagai string
DatessetParameter("date", "2023-12-01")Gunakan format ISO untuk tanggal
BooleanssetParameter("active", "true")Teruskan "true" atau "false" sebagai string
JSONsetParameter("data", '{"key":"value"}')String JSON dapat diteruskan sebagai parameter

Catatan

  • Metode ini terutama digunakan dengan permintaan POST, PUT, dan PATCH
  • Semua nilai parameter diperlakukan sebagai string
  • Metode mengembalikan objek Request, memungkinkan rantai metode
  • Parameter biasanya diformat sesuai dengan header Content-Type
  • Untuk permintaan GET, parameter harus disertakan dalam string query URL sebagai gantinya
  • Format aktual dari body permintaan tergantung pada header Content-Type yang diatur dengan setHeader()
  • Beberapa panggilan ke setParameter() dengan kunci yang sama akan menimpa nilai sebelumnya