Aller au contenu principal

Request():setParameter()

Définir un paramètre pour le corps de la requête (utilisé avec les requêtes POST/PUT/PATCH). Cette méthode vous permet d'ajouter des données qui seront envoyées dans le corps de la requête.

Signature

setParameter(key: string, value: string): Request

Paramètres

ParamètresTypeDescription
keystringLe nom du paramètre
valuestringLa valeur du paramètre

Renvoie

Request - Renvoie l'objet Request pour le chaînage de méthodes

Description

La méthode setParameter() ajoute une paire clé-valeur au corps de la requête. Cette méthode est principalement utilisée avec les requêtes POST, PUT et PATCH où vous devez envoyer des données au serveur. Vous pouvez appeler cette méthode plusieurs fois pour ajouter plusieurs paramètres au corps de la requête.

Exemples

POST de base avec paramètres

-- Envoyer des données de formulaire avec une requête POST
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:setParameter("age", "30")
:post()

Requête POST avec type de contenu JSON

-- Envoyer des données JSON avec une requête POST
local response = Request("https://api.example.com/posts")
:setHeader("Content-Type", "application/json")
:setParameter("title", "Mon Nouveau Message")
:setParameter("body", "Ceci est le contenu de mon message")
:setParameter("userId", "1")
:post()

Requête PUT avec paramètres

-- Mettre à jour une ressource avec une requête PUT
local response = Request("https://api.example.com/users/123")
:setHeader("Content-Type", "application/json")
:setParameter("name", "Jane Smith")
:setParameter("email", "jane@example.com")
:setParameter("status", "active")
:put()

Requête PATCH avec mises à jour partielles

-- Mettre à jour partiellement une ressource avec PATCH
local response = Request("https://api.example.com/users/456")
:setHeader("Content-Type", "application/json")
:setParameter("email", "newemail@example.com")
:setParameter("lastUpdated", "2023-12-01")
:patch()

Soumission de formulaire

-- Soumettre un formulaire de connexion
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()

Recherche avec POST

-- Envoyer des paramètres de recherche via POST
local response = Request("https://api.example.com/search")
:setParameter("query", "programmation lua")
:setParameter("limit", "10")
:setParameter("sort", "relevance")
:setParameter("filters", "books,tutorials")
:post()

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

if status == 200 then
print("Résultats de recherche : " .. results)
else
print("La recherche a échoué avec le statut : " .. status)
end

Structure de données complexe

-- Créer un objet complexe avec plusieurs paramètres imbriqués
local response = Request("https://api.example.com/orders")
:setHeader("Content-Type", "application/json")
:setParameter("customerId", "12345")
:setParameter("productId", "67890")
:setParameter("quantity", "2")
:setParameter("shippingAddress", "123 Main St, City, State")
:setParameter("paymentMethod", "credit_card")
:post()

Types de paramètres

Lors de l'utilisation de setParameter(), toutes les valeurs sont traitées comme des chaînes de caractères. Voici des cas d'utilisation courants :

Type de paramètreExempleNotes
TextesetParameter("name", "John Doe")Chaînes de texte régulières
NombressetParameter("age", "30")Les nombres doivent être passés comme des chaînes
DatessetParameter("date", "2023-12-01")Utilisez le format ISO pour les dates
BooléenssetParameter("active", "true")Passez "true" ou "false" comme des chaînes
JSONsetParameter("data", '{"key":"value"}')Les chaînes JSON peuvent être passées comme paramètres

Notes

  • Cette méthode est principalement utilisée avec les requêtes POST, PUT et PATCH
  • Toutes les valeurs de paramètres sont traitées comme des chaînes de caractères
  • La méthode renvoie l'objet Request, permettant le chaînage de méthodes
  • Les paramètres sont généralement formatés selon l'en-tête Content-Type
  • Pour les requêtes GET, les paramètres doivent être inclus dans la chaîne de requête de l'URL à la place
  • Le format réel du corps de la requête dépend de l'en-tête Content-Type défini avec setHeader()
  • Plusieurs appels à setParameter() avec la même clé remplaceront les valeurs précédentes