オブジェクトを作成するために POST リクエストを送信します。そのオブジェクトはサーバー上で正常に作成されましたが、応答を受信できない (どこかにドロップされた) ため、POST 要求をもう一度 (何度も) 送信しようとします。その結果、サーバー側に多くの重複オブジェクトが存在します。
その問題を処理する公式の方法は何ですか? これは非常に一般的な問題だと思いますが、正確な名前がわからないため、グーグルで検索できません。ありがとう。
オブジェクトを作成するために POST リクエストを送信します。そのオブジェクトはサーバー上で正常に作成されましたが、応答を受信できない (どこかにドロップされた) ため、POST 要求をもう一度 (何度も) 送信しようとします。その結果、サーバー側に多くの重複オブジェクトが存在します。
その問題を処理する公式の方法は何ですか? これは非常に一般的な問題だと思いますが、正確な名前がわからないため、グーグルで検索できません。ありがとう。
POST
オブジェクトの作成 (およびPUT
変更、DELETE
削除、GET
取得) に使用されるインターフェイスが呼び出される方法である REST 用語では、このPOST
操作は「安全」ではなく、「冪等」ではないと見なされます。他のタイプの請願は、オブジェクトのコレクションには影響しません。
これに対処する「公式の」方法があるとは思えませんが、おそらく対処するための設計パターンがいくつかあります。たとえば、特定のシナリオでは、次の 2 つの方法でこの問題を解決できる場合があります。
POST
通常、クライアントが入力フォームを含むページをロードするときに、リクエストを行う前に、各クライアントに 1 回限りの使用トークンを発行します。1 つ目POST
は、オブジェクトを作成し、トークンを使用済みとしてマークします。2 つ目POST
は、トークンが既に使用されていることを確認し、「はい、はい、OK、OK!」と答えることができます。エラーまたは成功メッセージ。REST について詳しく読むことができる便利なリンク。