拥有通用的控制器操作方法是否合法?例如,我做了这个:
[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.我怀疑如果能够做到这一点,无论哪种方式都是类似的技术。