Zum Hauptinhalt springen

Request():post()

Führt eine POST-Anfrage aus und gibt ein Response-Objekt zurück. Diese Methode wird verwendet, um Daten an einen Server zu senden, typischerweise um eine neue Ressource zu erstellen.

Signatur

post(): Response

Rückgabe

Response - Das Response-Objekt mit der Serverantwort

Beschreibung

Die Methode post() sendet eine HTTP-POST-Anfrage an die URL, die beim Erstellen des Request-Objekts angegeben wurde. POST-Anfragen werden typischerweise verwendet, um Daten zur Verarbeitung an einen Server zu übermitteln, beispielsweise um neue Datensätze zu erstellen, Formulare abzusenden oder Daten hochzuladen.

Verwenden Sie setParameter(), um dem Anfragekörper Daten hinzuzufügen, bevor Sie post() aufrufen.

Beispiele

Einfache POST-Anfrage

-- Create a POST request with parameters
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:post()

POST-Anfrage mit JSON-Headern

-- 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()

POST-Antwort verarbeiten

-- 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

Formularübermittlung mit 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

Hinweise

  • Verwenden Sie setParameter(), um dem Anfragekörper Daten hinzuzufügen, bevor Sie post() aufrufen
  • POST-Anfragen können einen Anfragekörper mit den zu sendenden Daten enthalten
  • Die Methode gibt ein Response-Objekt zurück, mit dem Sie auf die Antwortdaten und den Statuscode zugreifen können
  • Bei erfolgreicher Ressourcenerstellung geben Server typischerweise den Statuscode 201 zurück
  • Prüfen Sie immer den Antwort-Statuscode, um sicherzustellen, dass die Anfrage erfolgreich war
  • POST-Anfragen sind nicht idempotent - mehrmaliges Senden derselben Anfrage kann mehrere Ressourcen erstellen