Saltar al contenido principal

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 a post()
  • 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