この記事はギルドワークスのアドベントカレンダーの17日目です。 業務で冪等なAPIの実装を行う場面があったので、そのとき調べたものをまとめてみます。 冪等とは(冪等性と安全性) Webを支える技術(7章:HTTPメソッド)より 冪等:ある操作を何回行っても結果が同じになること 安全性:操作対象のリソース状態に変更を加えないこと 安全性あり 安全性なし 冪等なAPI Stripeのブログ記事を読んで、冪等なAPIの設計について調べてみました。 すべてのAPIのリクエストは失敗する可能性がある (クライアントとサーバーによる)分散システムでは、すべてのAPIは失敗する可能性があり、まず考えられるのは以下のような理由です。 ・The initial connection could fail as the client tries to connect to a server. ・The cal