お世話になっております。POSTではなくPUTを使うメリットについて有識者のご意見を伺いたいです(PUTはどういう時に使うのかの質問ではありません)。
POSTとPUTの使い分け自体は「べき等性があるAPIはPUTとすべき」という理解ですが、「そういうルールを取り決めた方が分かりやすいから」という以外にPUTを使うメリットがよく分かっていません。
大抵の場合、新規登録のURLには対象データを示すidが入っておらず更新なら何を更新するかのidが入っているので、POST1本で十分では?と思ってしまいます。
何ならPUTを使うデメリットの方があるんじゃないかと思っておりまして、屁理屈みたいですが
普通のデータAがあった時、新規登録は POST /data_a
で更新は PUT /data_a/:ID
になりますが、
大事なデータBがあり、データBは更新時にメールが飛ぶものとすると、更新はPUTのままで正しいのか?とかPOSTにしたらしたで他のデータもPOSTに揃えた方が分かりやすいんじゃないか?とか、話がややこしくなりそうな気がしています。
またこれも細かい話ですが、APIを使う画面を作成している際、新規登録画面と編集画面は同じ画面で作ることも多く、また新規も編集もほぼ同じパラメーターになるのでidを渡すか渡さないか程度の分岐だけになるはずのところ、POSTとPUTを使い分けている場合は呼び出すメソッドの分岐も増えるのがいまいちスマートでないなと思っています。
もちろんそういったルール付け自体に価値があることは重々承知しているのですが、それ以外にPUTを使うメリットは他に何か無いのでしょうか?
例えばパフォーマンス面で何か良いとか、セキュリティ上PUTの方が良いとか(CSRF関連は当然対策するとして)、そういった何か明確なメリットがあれば教えていただきたく存じます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/30 09:39
2021/04/30 09:50 編集
2021/04/30 10:01
2021/04/30 10:05
2021/04/30 10:10
2021/04/30 10:16
2021/04/30 12:28