我一直在使用WebApi进行开发,现在已经转向了WebApi2,微软引入了一个新的IHttpActionResult接口,似乎建议使用它而不是返回HttpResponseMessage。我对这个新接口的优势感到困惑。它似乎主要提供了一种稍微更容易创建HttpResponseMessage的方法。
我认为这是“为了抽象而抽象”,我有什么遗漏吗?除了可能节省一行代码外,我使用这个新接口可以获得什么实际的好处呢?
旧的方式(WebApi):
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();
}
}
HttpResponseMessage
的示例中,我在 9545 毫秒 内收到了响应。IHttpActionResult
,我在 294 毫秒 内收到了相同的响应。