我可以为ASP.NET Core WebAPI动态设置HttpMethodAttribute Name属性吗?

时间:2018-04-11 06:52:41

标签: asp.net-core-2.0 asp.net-core-webapi

我正在学习使用ASP.NET Core构建CRUD Web API。

根据Microsoft提供的一些教程,这是GetById()方法及其他方法的工作原理:

[HttpGet("{id}", Name = "GetItem")]
public IActionResult GetById(long? id)
{
    // get result item here ...
    return new ObjectResult(item);
}

[HttpPost]
public IActionResult Create([FromBody] T item)
{
    // add new item into context here ...
    return CreatedAtRoute(
        "GetItem",
        new { id = item.Id },
        item
    );
}

对于CRUD方法我做的事情非常相似,现在我试图让它成为通用的CRUD控制器。但是,我坚持使用Name = "GetItem"部分。

我有2个不同的控制器继承了这个CRUD控制器,但他们仍然共享相同的路由名称,#34; GetItem",它未能成为Name = "{_routeName}"或几个不同的试用。

是否可以使此Name属性动态化?或者可能有任何其他建议来构建通用CRUD控制器?谢谢!

0 个答案:

没有答案