Estou desenvolvendo com o WebApi e fui para o WebApi2, onde a Microsoft introduziu uma nova IHttpActionResult
interface que parece recomendada para ser usada no retorno de a HttpResponseMessage
. Estou confuso sobre as vantagens desta nova interface. Parece fornecer apenas uma maneira ligeiramente mais fácil de criar um HttpResponseMessage
.
Eu argumentaria que isso é "abstração em prol da abstração". Estou esquecendo de algo? Quais são as vantagens do mundo real que recebo ao usar essa nova interface, além de talvez salvar uma linha de código?
Maneira antiga (WebApi):
public HttpResponseMessage Delete(int id)
{
var status = _Repository.DeleteCustomer(id);
if (status)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
else
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
}
Nova maneira (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
, recebi a resposta em 9545 ms . * Usando oIHttpActionResult
, recebi a mesma resposta em 294 ms .