본문으로 건너뛰기

Request():setParameter()

요청 본문에 대한 매개변수를 설정합니다(POST/PUT/PATCH 요청과 함께 사용). 이 메서드를 사용하면 요청 본문에 전송할 데이터를 추가할 수 있습니다.

시그니처

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

매개변수

ParametersTypeDescription
keystring매개변수 이름
valuestring매개변수 값

반환값

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 TypeExampleNotes
TextsetParameter("name", "John Doe")일반 텍스트 문자열
NumberssetParameter("age", "30")숫자는 문자열로 전달해야 합니다
DatessetParameter("date", "2023-12-01")날짜는 ISO 형식을 사용하세요
BooleanssetParameter("active", "true")"true" 또는 "false"를 문자열로 전달하세요
JSONsetParameter("data", '{"key":"value"}')JSON 문자열을 매개변수로 전달할 수 있습니다

참고

  • 이 메서드는 주로 POST, PUT, PATCH 요청과 함께 사용됩니다.
  • 모든 매개변수 값은 문자열로 처리됩니다.
  • 이 메서드는 Request 객체를 반환하여 메서드 체이닝을 허용합니다.
  • 매개변수는 일반적으로 Content-Type 헤더에 따라 형식이 지정됩니다.
  • GET 요청의 경우 매개변수를 URL 쿼리 문자열에 포함시켜야 합니다.
  • 요청 본문의 실제 형식은 setHeader()로 설정한 Content-Type 헤더에 따라 다릅니다.
  • 동일한 키로 setParameter()를 여러 번 호출하면 이전 값이 재정의됩니다.