DELETEメソッド解説|DELETEリクエストを送信する方法

DELETEメソッドはデータ削除用のHTTPメソッドとして、Webアプリ開発中に利用されることが必要です。本文ではDELETEメソッドの基本情報を詳しく解説した上、非常に使いやすいAPIクライアントを使って、DELETEリクエストを送信する方法を皆さんに紹介します。

中村 拓也

中村 拓也

11 5月 2025

DELETEメソッド解説|DELETEリクエストを送信する方法

DELETEメソッドはデータ削除用のHTTPメソッドとして、Webアプリ開発中に利用されることが必要です。本文ではDELETEメソッドの基本情報を詳しく解説した上、非常に使いやすいAPIクライアントを使って、DELETEリクエストを送信する方法を皆さんに紹介します。

button

DELETEメソッドの基本情報

それでは、本記事では、まずはDELETEメソッドの基本情報を皆さんに紹介していきたいと思います。

DELETEメソッドとは

DELETEメソッドとは、HTTPプロトコルの1つのメソッドで、サーバー上のリソースを削除するために使われます。クライアントがDELETEメソッドでリクエストを送信すると、サーバーはそのURIで指定されたリソースを削除します。

DELETEメソッドの特徴

DELETEメソッドはRESTfulなAPI設計において重要な役割を果たしています。DELETEメソッドは、リソースの削除を安全に行うために推奨されているHTTPメソッドになります。次のような特徴があります:

なぜDELETEメソッドを見るのが少ない感じがある?

DELETEメソッドが実際にはあまり利用されていない大きな原因の1つは、多くのAPIがRESTの設計規範に厳密には遵守していないことにあると言えます。例えば、多くのAPIはREST原則から外れたAPI設計をしている場合が多く、データ変更(添削や更新など)に関する全ての操作もPOSTメソッドによって実現されています。

また、リソースを削除すると、復元することが難しいので、セキュリティ面での考慮のため、リソースを削除することより、リソースを無効化にした方が安全になるので、DELETEメソッドの使用頻度がさらに下がります。

このように、実用性を重視するためにRESTの原則が守られていないことが多いとはいえ、RESTの設計規範にきちんと遵守すると、APIの数が多くなっても、混乱せず効率的に管理できるのでしょう。

DELETEメソッドのデータ渡し方とHTTPボディ

それでは、DELETEメソッドを特定のリソースを削除するために、データ(パラメータ)の渡し方は何でしょうか?DELETE対象のリソースを特定するために、パスとクエリパラメータでデータを渡すことも可能ですが、HTTPボディでデータを渡すことも可能です。具体的にどのような手段でデータを渡すのは、それぞれのAPI仕様書を確認する必要があります。

DELETEメソッドでHTTPボディを使用する場合と使用しない場合のコードサンプルは以下のようになります。

ボディを使用しない場合

DELETEメソッドで次のように、URIのパスに対象リソースを指定し、HTTPボディを全く使用しないことが許可されます。

DELETE /users/1234 HTTP/1.1
Host: example.com

ボディを使用する場合

URIのパスには基本的な対象(DELETE /users)を指定して、ボディに条件を指定して、条件にマッチする複数ユーザーを削除することも実現できます。

DELETE /users HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "lastLoginDate": {
    "$lt": "2022-01-01"
  }
}

また、DELETEリクエストによる削除操作に追加情報を提供したい場合は、次のように、それらの情報をHTTPボディに追加することもできます。

DELETE /users/1234 HTTP/1.1 
Host: example.com
Content-Type: application/json

{
  "deletedBy": "admin",
  "reason": "Spam user" 
}

ApidogでDELETEリクエストを簡単に送信!

それでは、もしDELETEリクエストを送信してリソースのデータを削除したい場合、どうやって実装すればいいですか?この部分では、日本語対応API管理ツールのApidogで1クリックだけでDELETEリクエストを送信できる方法を皆さんに紹介します。HTTPボディの使用を問わず、Apidogは全てのタイプのDELETEリクエストを直感的な操作で送信できます。

button

Bodyを使用しないDELETEリクエストの送信

ApidogでDELETEリクエストを送信して、サーバー上のリソースを削除する場合は、次の画像のように、パスパラメータかクエリパラメータを利用して、削除対象を指定できます。

ApidogでパスとクエリでDELETE対象を指定

Bodyを使用するDELETEリクエストの送信

また、Bodyを利用して、削除操作に情報を追加したり、削除対象を条件で複数指定したりする必要がある場合、「Body」タブに切り替えて、適切なデータフォーマットを選択して、データを記入することもできます。

ApidogでBodyでDELETE対象を指定
button

Explore more

n8n徹底解説:初心者でもできるローカル自動化

n8n徹底解説:初心者でもできるローカル自動化

n8nは柔軟で簡単な自動化ツール。Dockerで手軽にローカル実行でき、ITプロや初心者もAIワークフロー構築を楽しめます。

10 6月 2025

Pythonで簡単!APIデータ抽出と自動データパイプラインの作り方

Pythonで簡単!APIデータ抽出と自動データパイプラインの作り方

PythonでAPIからデータ抽出ができれば、堅牢なデータパイプライン構築が可能です。認証やエラー処理も押さえ、自動化されたプロセスを実現できます。

7 6月 2025

MindsDB: あらゆるITユーザーのための万能MCPサーバー

MindsDB: あらゆるITユーザーのための万能MCPサーバー

MindsDBは、200以上のデータソースへの接続を容易にし、AIアプリの構築やインサイトの探索をプロのように実現します。さらなるデータソースの接続や、APIdogでのAPIドキュメント化をお試しください。

26 5月 2025

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる