私は現時点でノードにAPIを開発しており、他のモデルには15以上の外部キー参照を持つモデルがあります。API SQL外部キー参照の検証
少なくとも、到着するPOST
ペイロードには、他のテーブルに存在するIDが含まれていることを検証したいと思いますが、どこでこれを検証するかわかりません。
データベースに挿入しようとすると、SQLの外部キー制約エラーが発生します。これをキャプチャしてAPI応答に情報を中継しようとしました。
の前に個別に検証する必要がありますか?私は挿入を試していますか?
私は現時点でノードにAPIを開発しており、他のモデルには15以上の外部キー参照を持つモデルがあります。API SQL外部キー参照の検証
少なくとも、到着するPOST
ペイロードには、他のテーブルに存在するIDが含まれていることを検証したいと思いますが、どこでこれを検証するかわかりません。
データベースに挿入しようとすると、SQLの外部キー制約エラーが発生します。これをキャプチャしてAPI応答に情報を中継しようとしました。
の前に個別に検証する必要がありますか?私は挿入を試していますか?
これはあなた次第です。これらはどれくらいの頻度で失敗する可能性がありますか?楽観的なアプローチは、それを妨害し、最高のために願っています。悲観的なことは、事前に各関係を体系的にチェックすることです。
いつでもエラーを修正して、より美味しくすることができます。通常は、エラーを詳細に把握して、どのような関係が失敗したかを把握してから、ユーザーが理解できるように説明されたカスタムエラーを思いつくことができます。
通常、テーブル名からそのテーブルを記述するために使用されるラベルへのマッピングテーブルを持つことでこれを行います。ほとんどのアプリケーションでは、外部キーはランダムに鳴り出すだけでなく、ユーザーからの対話を必要とします。
期限切れのフォームを送信している途中で、誰かが何かを削除したり、他のイベントが発生した可能性があります。これらは成功した提出よりもはるかに少ない頻度で発生します。
@tadman私は挿入物が頻繁に失敗しないと思っていますが、生のSQLエラーメッセージではなく有用な応答を与えることができれば嬉しいです。ありがとう、私は今、楽観的なアプローチで行くと思います。 – J3Y