Request():delete()
DELETE リクエストを実行し、Response オブジェクトを返します。このメソッドは、サーバーからリソースを削除するために使用します。
シグネチャ
delete(): Response
戻り値
Response - サーバーのレスポンスを含むレスポンスオブジェクト
説明
delete() メソッドは、Request オブジェクトの作成時に指定した URL に対して HTTP DELETE リクエストを送信します。DELETE リクエストは通常、ユーザーや投稿、その他のデータエンティティなど、サーバー上の既存のリソースを削除するために使用します。
例
基本的な DELETE リクエスト
-- ID 123 のユーザーを削除
local response = Request("https://api.example.com/users/123"):delete()
認証付き DELETE リクエスト
-- 認証付きで投稿を削除
local response = Request("https://api.example.com/posts/456")
:setHeader("Authorization", "Bearer your-token-here")
:setHeader("Accept", "application/json")
:delete()
DELETE レスポンスの処理
-- コメントを削除してレスポンスを処理
local response = Request("https://api.example.com/comments/789")
:setHeader("Authorization", "Bearer your-token-here")
:delete()
local data = response:getData()
local statusCode = response:getResponseCode()
if statusCode == 204 then
print("コメントを削除しました!(コンテンツなし)")
elseif statusCode == 200 then
print("コメントを削除しました!")
print("レスポンス: " .. data)
else
print("コメントの削除に失敗しました。ステータス: " .. statusCode)
end
追加ヘッダー付き DELETE リクエスト
-- カスタムヘッダー付きでリソースを削除
local response = Request("https://api.example.com/files/document.pdf")
:setHeader("Authorization", "Bearer token123")
:setHeader("X-Delete-Reason", "User requested deletion")
:setHeader("Accept", "application/json")
:delete()
local status = response:getResponseCode()
if status == 200 or status == 204 then
print("ファイルを削除しました")
else
print("削除に失敗しました。ステータス: " .. status)
end
条件付き削除
-- リソースが変更されていない場合のみ削除
local response = Request("https://api.example.com/data/123")
:setHeader("If-Match", "etag-value-here")
:setHeader("Authorization", "Bearer token")
:delete()
local status = response:getResponseCode()
if status == 412 then
print("削除に失敗しました: リソースが変更されています")
elseif status == 200 or status == 204 then
print("リソースを削除しました")
end
注記
- DELETE リクエストには通常、リクエストボディはありません
- 成功した DELETE 操作は通常、次のいずれかを返します:
200 OK— 削除内容を記述したレスポンスボディ202 Accepted— 削除が非同期で処理される場合204 No Content— 削除は成功したがレスポンスボディがない場合
- このメソッドは Response オブジェクトを返し、レスポンスデータとステータスコードにアクセスできます
- リクエストが成功したかどうかを確認するため、常にレスポンスのステータスコードをチェックしてください
- DELETE リクエストは冪等です — 同じリクエストを複数回送信しても同じ結果になります(リソースは削除されます)
- DELETE リクエストはデータを完全に削除するため、使用には注意してください