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