Request():setParameter()
요청 본문에 대한 매개변수를 설정합니다(POST/PUT/PATCH 요청과 함께 사용). 이 메서드를 사용하면 요청 본문에 전송할 데이터를 추가할 수 있습니다.
시그니처
setParameter(key: string, value: string): Request
매개변수
| Parameters | Type | Description |
|---|---|---|
| key | string | 매개변수 이름 |
| value | string | 매개변수 값 |
반환값
Request - 메서드 체이닝을 위해 Request 객체를 반환합니다.
설명
setParameter() 메서드는 요청 본문에 키-값 쌍을 추가합니다. 이 메서드는 주로 서버에 데이터를 보내야 하는 POST, PUT, PATCH 요청과 함께 사용됩니다. 이 메서드를 여러 번 호출하여 요청 본문에 여러 매개변수를 추가할 수 있습니다.
예시
매개변수를 포함한 기본 POST
-- POST 요청으로 폼 데이터 전송
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:setParameter("age", "30")
:post()
JSON 콘텐츠 타입을 사용한 POST 요청
-- POST 요청으로 JSON 데이터 전송
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()
매개변수를 포함한 PUT 요청
-- PUT 요청으로 리소스 업데이트
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()
부분 업데이트를 포함한 PATCH 요청
-- 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()
폼 제출
-- 로그인 폼 제출
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()
POST를 통한 검색 쿼리
-- 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("검색 결과: " .. results)
else
print("검색 실패, 상태: " .. status)
end
복잡한 데이터 구조
-- 여러 중첩 매개변수로 복잡한 객체 생성
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()
매개변수 타입
setParameter()를 사용할 때 모든 값은 문자열로 처리됩니다. 일반적인 사용 사례는 다음과 같습니다.
| Parameter Type | Example | Notes |
|---|---|---|
| Text | setParameter("name", "John Doe") | 일반 텍스트 문자열 |
| Numbers | setParameter("age", "30") | 숫자는 문자열로 전달해야 합니다 |
| Dates | setParameter("date", "2023-12-01") | 날짜는 ISO 형식을 사용하세요 |
| Booleans | setParameter("active", "true") | "true" 또는 "false"를 문자열로 전달하세요 |
| JSON | setParameter("data", '{"key":"value"}') | JSON 문자열을 매개변수로 전달할 수 있습니다 |
참고
- 이 메서드는 주로 POST, PUT, PATCH 요청과 함께 사용됩니다.
- 모든 매개변수 값은 문자열로 처리됩니다.
- 이 메서드는 Request 객체를 반환하여 메서드 체이닝을 허용합니다.
- 매개변수는 일반적으로 Content-Type 헤더에 따라 형식이 지정됩니다.
- GET 요청의 경우 매개변수를 URL 쿼리 문자열에 포함시켜야 합니다.
- 요청 본문의 실제 형식은
setHeader()로 설정한 Content-Type 헤더에 따라 다릅니다. - 동일한 키로
setParameter()를 여러 번 호출하면 이전 값이 재정의됩니다.