【发布时间】:2014-10-09 11:50:38
【问题描述】:
我有一个基本控制器:
public abstract class EntityController<T> : BaseController
{
public EntityController(ILogService logService) : base(logService) { }
[HttpGet]
public abstract IEnumerable<T> Get();
[HttpGet]
public abstract T Get(int id);
[HttpPost]
[ValidateModel]
public abstract IHttpActionResult Create(T dto);
[HttpPut]
[ValidateModel]
public abstract IHttpActionResult Update(T dto);
[HttpDelete]
public abstract IHttpActionResult Delete(int id);
}
在大多数继承此类的控制器上一切正常。但是,我有一些控制器想要“隐藏”Get() 操作。
是否可以在操作级别这样做,还是应该抛出 MethodNotFound 异常?
此外,上述所有操作是否返回 IHttpActionResult 而不是 IEnumerable 和 T 的最佳做法?
【问题讨论】:
-
我没有知识来回答你的问题,但我觉得它很有趣,所以我做了一些研究并想出了this。接受的答案是一个很好的解释,所以我也喜欢它:) 希望它有所帮助。
标签: c# entity-framework asp.net-web-api