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
| Parameter | Type | Description |
|---|---|---|
| key | string | Nama parameter |
| value | string | Nilai 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 Type | Example | Notes |
|---|---|---|
| Text | setParameter("name", "John Doe") | String teks reguler |
| Numbers | setParameter("age", "30") | Angka harus diteruskan sebagai string |
| Dates | setParameter("date", "2023-12-01") | Gunakan format ISO untuk tanggal |
| Booleans | setParameter("active", "true") | Teruskan "true" atau "false" sebagai string |
| JSON | setParameter("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