Ho sviluppato con WebApi e sono passato a WebApi2, dove Microsoft ha introdotto una nuova IHttpActionResultinterfaccia 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();
}
}
HttpResponseMessageho ottenuto la risposta in 9545 ms . * UsandoIHttpActionResultho ottenuto la stessa risposta in 294 ms .