为什么要使用IHttpActionResult而不是HttpResponseMessage?

我一直在使用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();

    }

}


拉莫斯之舞
浏览 1422回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP