APIのメソッドPUTとPATCHは何が違うのか調べてみた
nove-b
May 1, 2024
PUTとPATCHの違いをあまり気にしてこなかった
基本的にフロントエンドなので、仕様書に書かれているメソッドでAPIと通信してきた。
ただ今回、自身が作る側に回り、PUTとPATCHの違いがいまいちピンとこなかったので、調べてみた。
結論
PUTはリソースの完全な置き換えで、PATCHはリソースの一部分のみを更新する場合とのこと。
例えば、
というデータがあり、31歳に変更する場合を考えてみる。
PUTの場合
といった感じに変更した年齢以外もまるっと送る必要がある。
PATCHの場合
対してPATCHの場合は、
となる。
どっちを使うべきか
まあ、この感じだと一部だけを更新したい場合はPATCHを使用するべきなんだと思うけど、その場合はフォームの一部だけが変更されたという監視が必要になるので、それなりの工数がかかる。そのためPUTでいいかなといった結論になりました。
Discussion in the ATmosphere