読み取り専用フィールド:(のみ必要なデータを持つ)特定のユースケースのためのviewmodelsを渡すAngularJS、MVVMと私は私の.NET + AngularJSのアプリケーションの多くを設計
- のREST Webサービス。
- これらのビューモデルを消費し、特定のビューのPOST操作をサポートするWebサービスメソッドにユーザーが変更した後、同じビューモデルを渡すAngularJSアプリケーション。
フォームビューモデルの一部のフィールドは、しばしば読み込み専用である必要があります。ユーザーはビューモデルを準備してこれらのフィールドを変更することができるので、これが起こらないようにする必要があります。私は、データベースからエンティティを取得し、編集可能でなければならないviewmodelのこれらのフィールドだけに手動でマッピングすることで、バックエンドでアプリケーションを保護します。これは、お尻の痛みと間違いやすいです。これを行うより良い方法はありますか?たぶん私は転記のための別のモデルを作るべきですか?
あなたの読み取り専用フィールドが変更され、返送されることが心配ですか?あなたがそれをあなたに送り返したときにサーバー側を確認できませんか? – Dylan
更新する前にエンティティの編集可能なフィールドのみをマッピングすることでこれを防ぐため、私は心配していません。私はむしろこれを解決するより良い方法があるかどうか疑問に思います。私は明示的に各書き込みマッピングを定義しなければならないので、フィールドマッピングを明示的に定義しなければAutoMapperを使ってこのことを行うことはできません。私は読み取り専用のビューモデルフィールドのカスタム属性を作成し、AutoMapperのマッピング定義でこの属性をチェックすることを考えますが、おそらくあなたはより良いアイデアを持っています。 – devkosiz