Ho sviluppato con WebApi e sono passato a WebApi2, dove Microsoft ha introdotto una nuova IHttpActionResult
interfaccia che sembra raccomandata per essere utilizzata per la restituzione di a HttpResponseMessage
. Sono confuso sui vantaggi di questa nuova interfaccia. Sembra principalmente fornire un modo LEGGERMENTE più semplice per creare un HttpResponseMessage
.
Vorrei sostenere che si tratta di "astrazione per amore dell'astrazione". Mi sto perdendo qualcosa? Quali sono i vantaggi del mondo reale che ottengo dall'utilizzo di questa nuova interfaccia oltre a salvare una riga di codice?
Vecchio modo (WebApi):
public HttpResponseMessage Delete(int id)
{
var status = _Repository.DeleteCustomer(id);
if (status)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
else
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
}
New Way (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
ho ottenuto la risposta in 9545 ms . * UsandoIHttpActionResult
ho ottenuto la stessa risposta in 294 ms .