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...
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント