skillup

技術ブログ

アーキテクト設計全般

HTTPリクエストの分類について(POST、PUT、PATCT)

投稿日:

HTTPリクエストの分類(主に更新系のもの)について。

POST

更新系の代表的なHTTPリクエストですね。

通常はデータの取得=GET、更新=POSTと教わるとは思いますが、GETで取得するような時でも渡すパラメータが非常に多いようなケースではPOSTを使うことが多いです。(GETはディフォルトだと2048文字だったはず・・)

ただ新規データ更新の場合はPOSTでいいのですが、更新のHTTPリクエストではPUTやPATCHなどがあり、こちらを使う方が最適とおもわれます。

PUT

更新の際にはPOSTではなく、PUTになります。

既存リソースの上書きというのが適切な言い方になりますかね。

PATCH

数週間前に初めて知りました・・・基本新規はPOSTで更新はPUTと思っていたのですが、更新でもPUT以外にPATCHというHTTPリクエストが存在します。

PUTとの違いは

PUT=既存データの上書き(リソースがない場合、新規作成も含む)

PATCH=既存データの一部追加(削除や変更が含まないニュアンスのようです。)

のようになります。(ただ綺麗に分けられるケースは少ないので、議論の分かれるところかもしれません)

このリンクが一番参考になりましたね・・

POST、PUT、PATCHの違い

-アーキテクト設計全般

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

オブジェクト指向 アプリケーション間連携(主にWebAPI)

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日はプレゼンテーション層、いわゆるMVCのViewにあたる部分。 Contents1 アプリケーション間連携(主にWEBAPIに関 …

no image

オブジェクト指向について その3

今回は場合分けによる変更コストとオブジェクト指向のメリットについてです。 例えば給付金が発生して、その金額を死亡時、退職時、通常時で場合分けするとき、if-elseで書けば下記のようになります。 [c …

no image

アプリケーションアーキテクチャについて 〜ドメインモデルに関して〜

前回のトランザクションスクリプトパターンの反省から 今回はいわゆるドメインモデルの具体例に関して。 ドメイン駆動型設計には以下のような特徴があります。 大きく、アプリケーションの構成を以下のように分け …

no image

オブジェクト指向 アプリケーション層に関して

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日は主にアプリケーション層(以下AP層)。MVCモデルでいうところのコントローラーに近い?)の考え方について。 Contents1 …

no image

event-listenerについて

前回Observeパターンに触れましたが、少し似たパターンとしてevent-listenerを使ったパターンが存在します。 Model(Eloquentのフック)というのが大まかな共通項ですかね。 そ …

アーカイブ