Zum Hauptinhalt springen

Request():setParameter()

Setzt einen Parameter für den Anfragekörper (verwendet mit POST-/PUT-/PATCH-Anfragen). Diese Methode ermöglicht es Ihnen, Daten hinzuzufügen, die im Anfragekörper gesendet werden.

Signatur

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

Parameter

ParametersTypeDescription
keystringDer Parametername
valuestringDer Parameterwert

Rückgabe

Request - Gibt das Request-Objekt für Methodenverkettung zurück

Beschreibung

Die Methode setParameter() fügt dem Anfragekörper ein Schlüssel-Wert-Paar hinzu. Diese Methode wird hauptsächlich bei POST-, PUT- und PATCH-Anfragen verwendet, bei denen Sie Daten an den Server senden müssen. Sie können diese Methode mehrfach aufrufen, um mehrere Parameter zum Anfragekörper hinzuzufügen.

Beispiele

Einfaches POST mit Parametern

-- Send form data with POST request
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:setParameter("age", "30")
:post()

POST-Anfrage mit JSON-Inhaltstyp

-- Send JSON data with POST request
local response = Request("https://api.example.com/posts")
:setHeader("Content-Type", "application/json")
:setParameter("title", "My New Post")
:setParameter("body", "This is the content of my post")
:setParameter("userId", "1")
:post()

PUT-Anfrage mit Parametern

-- Update a resource with PUT request
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()

PATCH-Anfrage mit Teilaktualisierungen

-- Partially update a resource with 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()

Formularübermittlung

-- Submit a login form
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()

Suchanfrage mit POST

-- Send search parameters via POST
local response = Request("https://api.example.com/search")
:setParameter("query", "lua programming")
:setParameter("limit", "10")
:setParameter("sort", "relevance")
:setParameter("filters", "books,tutorials")
:post()

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

if status == 200 then
print("Search results: " .. results)
else
print("Search failed with status: " .. status)
end

Komplexe Datenstruktur

-- Create a complex object with multiple nested parameters
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()

Parametertypen

Bei der Verwendung von setParameter() werden alle Werte als Zeichenketten behandelt. Hier sind gängige Anwendungsfälle:

Parameter TypeExampleNotes
TextsetParameter("name", "John Doe")Reguläre Textzeichenketten
ZahlensetParameter("age", "30")Zahlen sollten als Zeichenketten übergeben werden
DatumswertesetParameter("date", "2023-12-01")ISO-Format für Datumsangaben verwenden
Boolesche WertesetParameter("active", "true")"true" oder "false" als Zeichenketten übergeben
JSONsetParameter("data", '{"key":"value"}')JSON-Zeichenketten können als Parameter übergeben werden

Hinweise

  • Diese Methode wird hauptsächlich bei POST-, PUT- und PATCH-Anfragen verwendet
  • Alle Parameterwerte werden als Zeichenketten behandelt
  • Die Methode gibt das Request-Objekt zurück und ermöglicht somit Methodenverkettung
  • Parameter werden üblicherweise gemäß dem Content-Type-Header formatiert
  • Bei GET-Anfragen sollten Parameter stattdessen in die URL-Abfragezeichenkette aufgenommen werden
  • Das tatsächliche Format des Anfragekörpers hängt vom Content-Type-Header ab, der mit setHeader() gesetzt wurde
  • Mehrfache Aufrufe von setParameter() mit demselben Schlüssel überschreiben vorherige Werte