我一直在用WebApi开发,现在已经转移到WebApi2,微软在WebApi2中引入了一个新的IHttpActionResult
接口,似乎建议使用它来返回HttpResponseMessage
。我对这个新界面的优点感到困惑。它似乎只是提供了一个略更简单的方法来创建HttpResponseMessage
。
我认为这是“为了抽象而抽象”。我遗漏了什么吗?除了节省一行代码之外,我从使用这个新接口中获得的实际优势是什么?
老方法(之前):
public HttpResponseMessage Delete(int id)
{
var status = _Repository.DeleteCustomer(id);
if (status)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
else
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
}
新方法 (WebApi2):
public IHttpActionResult Delete(int id)
{
var status = _Repository.DeleteCustomer(id);
if (status)
{
//return new HttpResponseMessage(HttpStatusCode.OK);
return Ok();
}
else
{
//throw new HttpResponseException(HttpStatusCode.NotFound);
return NotFound();
}
}