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

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

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

no image

アプリケーション間のデータの連携方法に関して

以前やった「現場で役立つシステム設計の原則」を再読してます。 今、読んでいるのはアプリ間のデータ連携に関して。 複数のアプリ間でデータをやり取りする場合、以下のような方法が考えられます。 ファイルを直 …

no image

自動テストをやる上で今まで障害だったこと

自動テストについて、考え方自体は5年以上前から知っていましたが、プロジェクトで実際に使われているのを見たのは今年4月になってからでした・・・ 自動テスト完備なんて昔は夢物語だと思ってたんですけどね・・ …

no image

DIとDIコンテナについて再考

今までも何度かやったDI(Dependency Injection = 依存性の注入)について。 以前のリンク PHPにおけるDI スコープアノテーションとCDIについて Contents1 DIとは …

no image

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

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

アーカイブ