是否可以在webapi的VOID类型中显示错误消息?

时间:2017-05-03 14:36:35

标签: c# asp.net-web-api asp.net-web-api2

我是Web Api 2的新手,如果我点击Exception,我想显示一些消息,我知道VOID是非返回类型,我尝试使用 HttpResponseMessage ,但它无法正常工作或显示“错误消息”,是以任何方式显示消息吗?

我的代码如下

 public void Post(int id)
 {

        string result = string.Empty;
        try
        {
          //some code
        }
        catch (Exception ex)
        {
            HttpResponseMessage response2 = Request.CreateResponse(HttpStatusCode.BadRequest, "Error message");
            ErrId = 999;
        }
 }

1 个答案:

答案 0 :(得分:0)

如果您使用的是web api 2,那么我会使用IHttpActionResult作为返回类型,这样您就可以执行以下操作:

public IHttpActionResult Post(int id)
{
        string result = string.Empty;
        try
        {
          //some code
          return Ok();
        }
        catch (Exception ex)
        {
            return BadRequest("Error message");
        }
 }

但是,必须注意的是,默认情况下,Web API有一个内置的异常处理程序和记录程序,它将自动为任何异常返回500响应代码,因此除非您捕获自定义异常,否则上述代码可能是多余的。最后,上面的代码不会记录异常。