Sinatra の上で、Ruby で作業しているプラットフォームの REST API を構築しています。
データは POST 中に入ってきます。その段階で、解析された JSON の形式を、hash_validator を使用してルートごとに構築された検証ハッシュと照合します。
POST データが有効な場合、単一のハッシュとして渡され、新しいクラス (ユーザーなど) が作成されます。したがって、初期化時に、各変数をチェックして、それらが存在し、nil でないことを確認します。
同じオブジェクトの一部がさまざまなコレクション (UserInfo、UserSubscriptions、UserPasswordHash など) に存在する可能性があるため、データ ストアからクラスをロードするときに、受信した各ハッシュ (私の場合は Mongo) を再度検証します。
これはこれまでのところ機能しますが、コードの周りに変数名が何度も繰り返されているため、まだデータプルーフではない可能性があります。
私はこれについて可能な限りエンジニアリングの根性に従っていますが、アプリのさまざまな段階で入力を検証するときに従うべき共通のモデルはありますか?