Request():post()
Ejecuta una solicitud POST y devuelve un objeto Response. Este método se usa para enviar datos a un servidor, normalmente para crear un nuevo recurso.
Firma
post(): Response
Devuelve
Response - El objeto de respuesta que contiene la respuesta del servidor
Descripción
El método post() envía una solicitud HTTP POST a la URL especificada al crear el objeto Request. Las solicitudes POST se usan normalmente para enviar datos a un servidor para su procesamiento, como crear nuevos registros, enviar formularios o subir datos.
Usa setParameter() para añadir datos al cuerpo de la solicitud antes de llamar a post().
Ejemplos
Solicitud POST básica
-- Create a POST request with parameters
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:post()
Solicitud POST con cabeceras JSON
-- POST request with JSON content type
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()
Procesar la respuesta POST
-- Make the POST request and handle the response
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()
-- Get the response data
local data = response:getData()
local statusCode = response:getResponseCode()
if statusCode == 201 then
print("Comment created successfully!")
print("Response: " .. data)
else
print("Failed to create comment. Status: " .. statusCode)
end
Envío de formulario con POST
-- Simulate a form submission
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("Login successful!")
else
print("Login failed. Status: " .. status)
end
Notas
- Usa
setParameter()para añadir datos al cuerpo de la solicitud antes de llamar apost() - Las solicitudes POST pueden tener un cuerpo de solicitud que contiene los datos a enviar
- El método devuelve un objeto Response que puedes usar para acceder a los datos de respuesta y al código de estado
- Para la creación exitosa de recursos, los servidores normalmente devuelven un código de estado 201
- Comprueba siempre el código de estado de la respuesta para asegurarte de que la solicitud fue exitosa
- Las solicitudes POST no son idempotentes: hacer la misma solicitud varias veces puede crear múltiples recursos