最近、既存の Web ポータル用の API を作成する際の要件に出会いました。現在の Web UI はそのまま残り、API は、コア アプリの上にアプリを構築したいすべてのクライアントに追加機能を提供します。
Web UI は非常に複雑で、必要な機能を実現するためのいくつかの段階的なフォームで構成されています。たとえば、一部のドメイン オブジェクトはウィザードのような方法で一連のフォーム ビュー (私のビューモデル) に分割されます。入力された値が int かどうか、指定された電子メールが有効かどうかなどに関する検証は、viewmodel で行われます。
ビューモデル クラスを再利用して、API でのユーザー入力を表すことを計画していました。
例 WebUI: public ActionResult Save(FormOne form){...} API: public ActionResult Save(String apiKey, FormOne form){...}
しかし、これは非常に困難です。つまり、WebUI ビューモデルと API ビューモデルを完全にマッピングする必要があります。
この場合、優れた設計とはどのようなものでしょうか?
a) API の新しいビューモデルを作成しますか? b) 可能な場合は既存のビューモデルを使用する - 適切な場所に新しいクラスを作成する c) 他に何か?
ありがとう、Y