メインコンテンツまでスキップ

Request():setParameter()

リクエストボディのパラメータを設定します(POST/PUT/PATCH リクエストで使用)。このメソッドを使用すると、リクエストボディで送信するデータを追加できます。

シグネチャ

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

パラメータ

パラメータ説明
keystringパラメータ名
valuestringパラメータの値

戻り値

Request - メソッドチェーン用に Request オブジェクトを返します

説明

setParameter() メソッドは、リクエストボディにキーと値のペアを追加します。このメソッドは主に、サーバーにデータを送信する必要がある POST、PUT、PATCH リクエストで使用します。このメソッドは複数回呼び出すことで、リクエストボディに複数のパラメータを追加できます。

パラメータ付きの基本的な POST

-- POST リクエストでフォームデータを送信
local response = Request("https://api.example.com/users")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:setParameter("age", "30")
:post()

JSON コンテンツタイプの POST リクエスト

-- POST リクエストで JSON データを送信
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 リクエスト

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

部分更新の PATCH リクエスト

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

フォームの送信

-- ログインフォームを送信
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()

POST による検索クエリ

-- 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("検索結果: " .. results)
else
print("検索に失敗しました。ステータス: " .. status)
end

複雑なデータ構造

-- 複数のネストされたパラメータを持つ複雑なオブジェクトを作成
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()

パラメータの型

setParameter() を使用する際、すべての値は文字列として扱われます。一般的な使用例は以下の通りです:

パラメータの型注記
テキストsetParameter("name", "John Doe")通常のテキスト文字列
数値setParameter("age", "30")数値は文字列として渡す必要があります
日付setParameter("date", "2023-12-01")日付には ISO 形式を使用してください
真偽値setParameter("active", "true")"true" または "false" を文字列として渡します
JSONsetParameter("data", '{"key":"value"}')JSON 文字列をパラメータとして渡せます

注記

  • このメソッドは主に POST、PUT、PATCH リクエストで使用します
  • すべてのパラメータ値は文字列として扱われます
  • このメソッドは Request オブジェクトを返し、メソッドチェーンが可能です
  • パラメータは通常、Content-Type ヘッダーに従ってフォーマットされます
  • GET リクエストの場合は、パラメータを URL のクエリ文字列に含めてください
  • リクエストボディの実際の形式は、setHeader() で設定した Content-Type ヘッダーに依存します
  • 同じキーで setParameter() を複数回呼び出すと、以前の値が上書きされます