Request():setParameter()
リクエストボディのパラメータを設定します(POST/PUT/PATCH リクエストで使用)。このメソッドを使用すると、リクエストボディで送信するデータを追加できます。
シグネチャ
setParameter(key: string, value: string): Request
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
| key | string | パラメータ名 |
| value | string | パラメータの値 |
戻り値
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" を文字列として渡します |
| JSON | setParameter("data", '{"key":"value"}') | JSON 文字列をパラメータとして渡せます |
注記
- このメソッドは主に POST、PUT、PATCH リクエストで使用します
- すべてのパラメータ値は文字列として扱われます
- このメソッドは Request オブジェクトを返し、メソッドチェーンが可能です
- パラメータは通常、Content-Type ヘッダーに従ってフォーマットされます
- GET リクエストの場合は、パラメータを URL のクエリ文字列に含めてください
- リクエストボディの実際の形式は、
setHeader()で設定した Content-Type ヘッダーに依存します - 同じキーで
setParameter()を複数回呼び出すと、以前の値が上書きされます