2012-03-19 17 views
1

すべてのPUTリクエストとPOSTリクエストを適切なコマンドにデシリアライズして、メッセージバス経由でエンドポイントに送信します。コマンドごとにApiControllerを持たず、汎用のPutメソッドを実装するベースコントローラーも持っていません。すべてのPOSTリクエストを単一のApiControllerにルーティングする

したがって、特定の動詞のすべてのリクエストを1つのApiControllerまたは適切なものにルーティングすることは可能ですが、依然としてモデルバインドのメリットはありますか?

答えて

0

[HttpGet]と[HttpPost]コントローラの属性のように聞こえるようです。これにより、この属性によって異なる2つのメソッドを作成できます。たとえば、次のようになります。

[HttpGet] 
public ActionResult Index(int viewId) 
{ 
    return View(new IndexViewModel(viewId)); 
} 

[HttpPost] 
public ActionResult Index(IndexViewModel model) 
{ 
    model.DoSomethingUsefulWithPostData(); 
    return View(model); 
} 

最初の方法は、クエリ文字列の引数をとり、そこからビューモデルを作成します。 2番目のフォームはフォームのPOSTに呼び出され、モデル内のPOST自体の値を含むモデルを再構築します。

関連する問題