Aller au contenu principal

Request():post()

Exécuter une requête POST et renvoyer un objet Response. Cette méthode est utilisée pour envoyer des données à un serveur, généralement pour créer une nouvelle ressource.

Signature

post(): Response

Renvoie

Response - L'objet response contenant la réponse du serveur

Description

La méthode post() envoie une requête HTTP POST à l'URL spécifiée lors de la création de l'objet Request. Les requêtes POST sont généralement utilisées pour soumettre des données à un serveur pour traitement, comme créer de nouveaux enregistrements, soumettre des formulaires ou télécharger des données.

Utilisez setParameter() pour ajouter des données au corps de la requête avant d'appeler post().

Exemples

Requête POST de base

-- Créer une requête POST avec paramètres
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:post()

Requête POST avec en-têtes JSON

-- Requête POST avec type de contenu JSON
local response = Request("https://api.example.com/posts")
:setHeader("Content-Type", "application/json")
:setHeader("Authorization", "Bearer votre-token-ici")
:setParameter("title", "Mon Nouveau Message")
:setParameter("body", "Ceci est le contenu de mon message")
:setParameter("userId", "1")
:post()

Traitement de la réponse POST

-- Effectuer la requête POST et gérer la réponse
local response = Request("https://api.example.com/comments")
:setHeader("Content-Type", "application/json")
:setParameter("postId", "1")
:setParameter("name", "Utilisateur Anonyme")
:setParameter("email", "user@example.com")
:setParameter("body", "Excellent article !")
:post()

-- Obtenir les données de réponse
local data = response:getData()
local statusCode = response:getResponseCode()

if statusCode == 201 then
print("Commentaire créé avec succès !")
print("Réponse : " .. data)
else
print("Échec de la création du commentaire. Statut : " .. statusCode)
end

Soumission de formulaire avec POST

-- Simuler une soumission de formulaire
local response = Request("https://example.com/login")
:setHeader("Content-Type", "application/x-www-form-urlencoded")
:setParameter("username", "monnomutilisateur")
:setParameter("password", "monmotdepasse")
:setParameter("remember", "true")
:post()

local loginResponse = response:getData()
local status = response:getResponseCode()

if status == 200 then
print("Connexion réussie !")
else
print("Échec de la connexion. Statut : " .. status)
end

Notes

  • Utilisez setParameter() pour ajouter des données au corps de la requête avant d'appeler post()
  • Les requêtes POST peuvent avoir un corps de requête contenant les données à envoyer
  • La méthode renvoie un objet Response que vous pouvez utiliser pour accéder aux données de réponse et au code de statut
  • Pour une création de ressource réussie, les serveurs renvoient généralement un code de statut 201
  • Vérifiez toujours le code de statut de la réponse pour vous assurer que la requête a réussi
  • Les requêtes POST ne sont pas idempotentes - faire la même requête plusieurs fois peut créer plusieurs ressources