0

私は現在、.NET で Web API に取り組んでいます。基本的に、Web API がドメイン クラスを受け入れても、API コントローラーでビュー モデルを参照することが有効かどうかを知りたかったのです。

個人的には、Web API は View モデル クラスについて何も知らないはずなので、ドメイン クラスのみを受け入れる必要があるため、これは正しくないと思いますか?

コードの例を以下に示します。

私はシンコントローラーのアプローチを使用したため、すべての処理を実行する実行メソッドを実装しました。以下の場合、それはリポジトリに追加されます。

 public HttpResponseMessage Put(Staff staffMember)
    {
        command.Execute(new StaffVM { Staff = staffMember }, ModelState);

        return Request.CreateResponse(HttpStatusCode.OK, staffMember.name);            
    }

これは良いアプローチですか?

4

1 に答える 1

-1

API の Put メソッドが put リクエストを受け取ると、デフォルトのモデル バインダーは、着信リクエストのプロパティをモデル内のプロパティにマッピングしようとします。MVC コントローラ モデルの再利用がマッピング リクエストに適合する場合、これは許容できるアプローチだと思います。

ここでの唯一の考慮事項は、現在、Api Put メソッドと使用する他の Controller メソッドStaffの要件は一致していますが、元のコントローラーの要件が変更されてモデルが変更された場合、API メソッドが壊れてマッピングが失われる可能性があることです。不合格。

一方、将来 API コントローラーの必要性により、Staffモデルが使用できなくなった場合は、API メソッド シグネチャを適切に置き換えることができます。

于 2013-07-30T10:17:10.947 に答える