Apidog

オールインワンのAPI開発プラットフォーム

API設計

API仕様書生成

API設計

API Mock

APIテスト自動化

無料登録
Home / 操作ガイド / DELETEメソッド解説|DELETEリクエストを送信する方法

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

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

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

button

DELETEメソッドの基本情報

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

DELETEメソッドとは

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

DELETEメソッドの特徴

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

  • サーバー上の特定のリソースを削除可能
  • レスポンスの内容を返す必要はない
  • 成功した場合は200(OK)や204(No Content)を返すのが一般的
  • 失敗した場合は404(Not Found)や403(Forbidden)などのエラーコードを返す

なぜ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

Apidogのニュースレターを購読する

今すぐ購読すると、いつでもApidogから更新情報と最新観点を手に入れることができます。