2017-04-27 27 views
0

私は現時点でノードにAPIを開発しており、他のモデルには15以上の外部キー参照を持つモデルがあります。API SQL外部キー参照の検証

少なくとも、到着するPOSTペイロードには、他のテーブルに存在するIDが含まれていることを検証したいと思いますが、どこでこれを検証するかわかりません。

データベースに挿入しようとすると、SQLの外部キー制約エラーが発生します。これをキャプチャしてAPI応答に情報を中継しようとしました。

の前に個別に検証する必要がありますか?私は挿入を試していますか?

+0

@tadman私は挿入物が頻繁に失敗しないと思っていますが、生のSQLエラーメッセージではなく有用な応答を与えることができれば嬉しいです。ありがとう、私は今、楽観的なアプローチで行くと思います。 – J3Y

答えて

1

これはあなた次第です。これらはどれくらいの頻度で失敗する可能性がありますか?楽観的なアプローチは、それを妨害し、最高のために願っています。悲観的なことは、事前に各関係を体系的にチェックすることです。

いつでもエラーを修正して、より美味しくすることができます。通常は、エラーを詳細に把握して、どのような関係が失敗したかを把握してから、ユーザーが理解できるように説明されたカスタムエラーを思いつくことができます。

通常、テーブル名からそのテーブルを記述するために使用されるラベルへのマッピングテーブルを持つことでこれを行います。ほとんどのアプリケーションでは、外部キーはランダムに鳴り出すだけでなく、ユーザーからの対話を必要とします。

期限切れのフォームを送信している途中で、誰かが何かを削除したり、他のイベントが発生した可能性があります。これらは成功した提出よりもはるかに少ない頻度で発生します。

関連する問題