- Published on
PUTとPATCHの違いは何?
Railsで良く見かけるPutとPatch。 これらの違いはなんでしょうか? 普段何気なく使っていると思いますが、これらの違いを簡単に紹介します。
PUTの意味と正しい使い方
PUTは、全てのリソースを変更するさいに利用するものです。
例えば、titleとbodyというカラムがあるBlogを更新するときの例で具体的に説明します。
PUTを使う際は、Blogのリソースを全て変更するようにリクエストを送らないとだめです。
そのため、PUTは下記のようなリクエストにすべきです。
// PUTの正しい使い方 PUT /blogs/1 { title: 'hoge', body: 'foo' }
しかしながら、以下のようにはすべきではありません。 これはPATCHの使い方になります。
// PUTの間違った使い方 PUT /blogs/1 { title: 'hoge' }
PATCHの意味と正しい使い方
PUTは全てのリソースを変更する際に利用するのに対して、 PATCHは一部のリソース変更に用いられます。
そのため、下記が正しく
// PATCHの正しい使い方 PATCH /blogs/1 { title: 'hoge' }
参考: use-of-put-vs-patch-methods-in-rest-api-real-life-scenarios