1. ホーム
  2. http

[解決済み] REST DELETEは本当にべき乗なのか?

2022-04-21 10:36:45

質問

DELETEはべき乗であるはずです。

もし私がDELETE http://example.com/account/123 をクリックすると、アカウントが削除されます。

もう一度実行すると、そのアカウントはもう存在しないので、404が表示されるのでしょうか?もし、存在しないアカウントを削除しようとしたらどうなりますか?

解決方法は?

Idempotenceとは、リクエストが完了した後のシステムの状態を指します



すべての場合(エラーの問題は別として-下記参照)、そのアカウントはもう存在しません。

から こちら

メソッドには という点では、( は別として エラーまたは期限切れの問題 となります。 N >0の同一の副作用 は、1つのリクエストの場合と同じです。 リクエストに対応します。メソッドGET, HEAD, PUT とDELETEはこの性質を共有しています。また OPTIONS および TRACE メソッドは 副作用がないため 本質的にべき乗である。



ここで重要なのは N > 0の同一リクエストの副作用は、単一リクエストの場合と同じです。

ステータスコードが異なると予想するのは正しいのですが、これは idempotency の中核概念である、サーバーの状態に追加の変更を加えることなく、 リクエストを複数回送信することができます。