He estado desarrollando con WebApi y he pasado a WebApi2, donde Microsoft ha introducido una nueva IHttpActionResult
interfaz que parece recomendada para usarse antes de devolver a HttpResponseMessage
. Estoy confundido sobre las ventajas de esta nueva interfaz. Parece que principalmente proporciona una manera LIGERAMENTE más fácil de crear un HttpResponseMessage
.
Yo diría que esto es "abstracción por el bien de la abstracción". ¿Me estoy perdiendo de algo? ¿Cuáles son las ventajas del mundo real que obtengo al usar esta nueva interfaz además de guardar una línea de código?
Old way (WebApi):
public HttpResponseMessage Delete(int id)
{
var status = _Repository.DeleteCustomer(id);
if (status)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
else
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
}
Nueva forma (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
obtuve la respuesta en 9545 ms . * Utilizando elIHttpActionResult
, obtuve la misma respuesta en 294 ms .