Я работал с WebApi и перешел к WebApi2, где Microsoft представила новый IHttpActionResult
интерфейс, который, кажется, рекомендуется использовать вместо возврата a 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
I, я получил тот же ответ в 294 мс .