2017-11-24 2 views
0

私は、トランザクションIDを入力として受け取り、指定された取引の払い戻しを処理する残りのAPIを書いています。そのため、同じ取引で複数の払い戻しリクエストがあった場合があります。しかし、払い戻しは一度しか処理できません。その場合、払い戻しが完了し、同じ取引の払い戻しのための重複要求を受け取った場合は、どのような応答コードにする必要がありますか?払い戻しのHTTP応答コードはすでに完了しています

答えて

1

あなたは、操作がリソースの状態での競合を示すために禁じられたり409されることを示すために403を使用することができます。

6.5.3. 403 Forbidden

403(禁止)ステータスコードは、サーバことを示しています要求を理解しましたが、要求を承認することを拒否しました。要求が禁止された理由を公開することを望むサーバーは、その理由を応答ペイロードに記述することができます(存在する場合)。

要求で認証資格情報が提供された場合、サーバーはアクセス資格を与えるには不十分であるとみなします。 [...]しかし、要求は信任状と無関係の理由で禁止されるかもしれません。 [...]

6.5.8. 409 Conflict

409(競合)ステータスコードは、要求が が原因ターゲット リソースの現在の状態との競合に完了できなかったことを示しています。このコードは、ユーザーが で競合を解決して要求を再送信できる状況で使用されます。サーバ は、ユーザ が競合の原因を認識するのに十分な情報を含むペイロードを生成するべきである(SHOULD)。 [...]

応答paylodのエラーの良い説明を返すことが不可欠です。あなたは参考としてRFC 7807を使用することができます。

+0

409です。 –

関連する問題