POSTオブジェクトの配列を作成し、それらのそれぞれについてデータベースに挿入したい。
1つのオブジェクトが準拠せず、例外が発生した場合のベストプラクティスは何ですか? (すべてのトランザクションをキャンセルするか、1つだけをキャンセルして、このオブジェクトのリストを返すときにそれを指定しますか?)
投稿は、全体として成功するか、全体として失敗する単一の自己完結型のアクションである必要があります。したがって、1つのアイテムにエラーが含まれている場合は、セット全体を拒否する必要があります。
また、データベーストランザクションを開始する前でも、可能な限りこれらの項目をチェックして、早期にエラーが発生する可能性があるようにする必要があります。
もちろん、データベースエンジンで例外が発生した場合(たとえば、参照制約のため)、トランザクション全体をロールバックします。
バッチ操作の場合は、すべての操作を1つずつ処理し、独自のステータスを持つオブジェクトの配列を返します。
すべての操作が成功した場合はHTTPステータスコード200 OKを返し、バッチ内で失敗した操作がある場合は207マルチステータスを返すことができます。