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 요청은 멱등성을 가지지 않습니다. 즉, 동일한 요청을 여러 번 보내면 여러 리소스가 생성될 수 있습니다.