私の RESTful API クライアントでは、データベースに既に存在する情報を投稿しようとする場合がありますが、これはエラーではなく、クライアントが無視できるものであり、既存の複製についてユーザーに通知する可能性があります。
今、私は 409 Conflict を返し、応答本文に既に存在するオブジェクトを返しています。次の理由から、それは正しくないと思います。
リソースの現在の状態と競合するため、要求を完了できませんでした。このコードは、ユーザーが競合を解決してリクエストを再送信できると予想される状況でのみ許可されます。応答本文には、ユーザーが競合の原因を認識するのに十分な情報を含める必要があります。理想的には、応答エンティティには、ユーザーまたはユーザー エージェントが問題を解決するのに十分な情報が含まれます。ただし、それは不可能な場合があり、必須ではありません。 restpatterns.org経由
一般的に、409 は PUT に関連しているようです。
この場合の正しい対応は?303 See Other and Location ヘッダーでしょうか?