通用控制器操作方法

时间:2016-04-16 03:20:17

标签: c# generics asp.net-web-api asp.net-core url-routing

拥有通用的控制器操作方法是否合法?例如,我做了这个:

[Route("api/[controller]")]
public class NumbersController : Controller
{
    [HttpPost("{orderType}")]
    public async Task<IActionResult> Create<T>(
        [FromBody]
        [ModelBinder(BinderType = typeof(OrderModelBinder))] 
        Order<T> order) where T : IOrder
    {
       //....
    }

我的自定义OrderModelBinder会检查{orderType}路径段,以确定用于创建IOrder的具体Order<T>

当我运行代码时,我得到了一个404.我不确定是不是因为我做错了什么,或者ASP.NET是不是支持这个。

也许我应该使用自定义IActionInvoker来代替自定义模型绑定器?

我正在使用ASP.NET Core和ASP.NET Web API 2.x.我怀疑如果能够做到这一点,无论哪种方式都是类似的技术。

0 个答案:

没有答案