はじめに
前回までタイムアウトしたときの冪等性担保をまとめましたが、今回はクライアント側での対応を載せます。
内容
クライアント側で冪等性担保されていることの確認対応ですが、単純な方法として、
エラーコードが23505のときにエラーメッセージを出力するようにします。
route
if (error.code === "23505") {
console.log("重複エラー: すでに同じIdempotency-Keyが存在します");
return Response.json(
{ error: "重複エラー: すでに同じIdempotency-Keyが存在します" },
{ status: 409 }
);
}
重複エラー: すでに同じIdempotency-Keyが存在します
おわりに
場合によっては、Retry回数や同時に同じ処理が走った場合はどうするのかを考慮する必要があります。
