Pracowałem z WebApi i przeniosłem się na WebApi2, gdzie Microsoft wprowadził nowy IHttpActionResult
interfejs, który wydaje się zalecany do użycia zamiast zwracania HttpResponseMessage
. Jestem zdezorientowany zaletami tego nowego interfejsu. Wydaje się, że głównie zapewnia PO LEKKO łatwiejszy sposób utworzenia HttpResponseMessage
.
Argumentowałbym, że jest to „abstrakcja ze względu na abstrakcję”. Czy coś brakuje? Jakie są rzeczywiste korzyści płynące z korzystania z tego nowego interfejsu oprócz oszczędzania linii kodu?
Stary sposób (WebApi):
public HttpResponseMessage Delete(int id)
{
var status = _Repository.DeleteCustomer(id);
if (status)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
else
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
}
Nowa droga (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
, otrzymałem odpowiedź w 9545 ms . * UżywającIHttpActionResult
otrzymałem tę samą odpowiedź w 294 ms .