我希望将所有PUT和POST请求反序列化为适当的命令,并通过消息总线发送到端点。我宁愿没有每个命令的ApiController,也没有实现普通Put方法的基本控制器。
那么,是否可以将给定动词的所有请求路由到单个ApiController或适当的东西,并仍然受益于模型绑定?
答案 0 :(得分:0)
听起来你正在寻找的是[HttpGet]和[HttpPost]控制器属性。这允许您创建两个因此属性而不同的方法。例如:
[HttpGet]
public ActionResult Index(int viewId)
{
return View(new IndexViewModel(viewId));
}
[HttpPost]
public ActionResult Index(IndexViewModel model)
{
model.DoSomethingUsefulWithPostData();
return View(model);
}
第一种方法将采用查询字符串参数并从中构造视图模型。第二个将在表单上调用并重建模型,包括模型中POST本身的任何值。