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