본문으로 건너뛰기

Request():post()

POST 요청을 실행하고 Response 객체를 반환합니다. 이 메서드는 일반적으로 새 리소스를 생성하기 위해 서버에 데이터를 보낼 때 사용됩니다.

시그니처

post(): Response

반환값

Response - 서버 응답을 담고 있는 응답 객체

설명

post() 메서드는 Request 객체를 생성할 때 지정한 URL로 HTTP POST 요청을 보냅니다. POST 요청은 일반적으로 새 레코드 생성, 폼 제출, 데이터 업로드 등 서버에 데이터를 제출하여 처리할 때 사용됩니다.

post()를 호출하기 전에 setParameter()를 사용하여 요청 본문에 데이터를 추가하세요.

예시

기본 POST 요청

-- 매개변수를 포함한 POST 요청 생성
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:post()

JSON 헤더를 포함한 POST 요청

-- JSON 콘텐츠 타입을 사용하는 POST 요청
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()

POST 응답 처리

-- POST 요청을 보내고 응답을 처리
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()

-- 응답 데이터 가져오기
local data = response:getData()
local statusCode = response:getResponseCode()

if statusCode == 201 then
print("댓글이 성공적으로 생성되었습니다!")
print("응답: " .. data)
else
print("댓글 생성 실패. 상태: " .. statusCode)
end

POST로 폼 제출

-- 폼 제출 시뮬레이션
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("로그인 성공!")
else
print("로그인 실패. 상태: " .. status)
end

참고

  • post()를 호출하기 전에 setParameter()를 사용하여 요청 본문에 데이터를 추가하세요.
  • POST 요청은 보낼 데이터를 담은 요청 본문을 가질 수 있습니다.
  • 이 메서드는 응답 데이터와 상태 코드에 접근할 수 있는 Response 객체를 반환합니다.
  • 리소스 생성이 성공한 경우 서버는 일반적으로 201 상태 코드를 반환합니다.
  • 요청이 성공했는지 확인하려면 항상 응답 상태 코드를 확인하세요.
  • POST 요청은 멱등성을 가지지 않습니다. 즉, 동일한 요청을 여러 번 보내면 여러 리소스가 생성될 수 있습니다.