GET,DELETEメソッドのリクエストボディとリクエストパラメータの使い方

GET,DELETEメソッドのリクエストボディとリクエストパラメータの使い方

REST APIは、URIとHTTPメソッドの組み合わせで成り立っています。

HTTPメソッド 意味
GET 取得
POST 登録,その他
PUT 更新
DELETE 削除

GET,DELETEメソッドのリクエストパラメータ

GETメソッドの際にリクエストパラメータ(クエリパラメータ、GETパラメータとも言う)を使用しますが、DELETEでも使用することができます。

但し、クエリ=問い合わせという意味であること、GETパラメータという言葉からするとGETメソッドでリクエストパラメータ(?name=takahashi&age=20)を使用するのは好ましくないと思います。

削除でリクエストパラメータが必要な場合は、複雑な削除処理とみなしてPOSTに変える方がよい設計だと思います。

GET,DELETEメソッドのリクエストボディ

GET,DELETEメソッドで、実はリクエストボディにデータを設定することができます。

その場合、content-lengthの設定が必須になります。(本来はGET,DELETEでcontent-lengthの設定は任意です)

但し、このリクエストボディも多くのWebサーバではGET,DELETEメソッドでのリクエストボディは対応していないので、複雑な処理をする場合はGET,DELETEメソッドからPOSTメソッドに変更するというのが結論になるかと思います。

参考サイト

REST - Should you use a body for your HTTP DELETE request?
I recently had to make a delete endpoint and I was wondering if I should use a URL path parameter or provide a body, her...

コメント

タイトルとURLをコピーしました