べき等性
別名: 冪等性, Idempotent, Idempotency
べき等性(idempotent)は、同じ操作を何度実行しても、結果が変わらない性質のことです。
HTTPメソッドでは、以下のようにべき等かどうかが決まっています。
| メソッド | べき等 | 理由 |
|---|---|---|
| GET | ○ | 何度取得しても同じデータが返る |
| PUT | ○ | 何度更新しても同じ状態になる |
| DELETE | ○ | 何度削除しても「存在しない」状態になる |
| POST | × | 実行するたびに新しいデータが作られる |
べき等性を意識する場面
API開発では、べき等かどうかでロジックの設計が変わります。
たとえば、べき等でないPOSTリクエストでは「同じデータが重複作成されないか」を考慮する必要があります。ネットワークの問題でリクエストが再送信された場合、べき等な処理なら問題ありませんが、べき等でない処理では意図しない重複が発生する可能性があるためです。