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