【发布时间】:2019-05-09 10:26:00
【问题描述】:
我们已经创建了自定义异常类,它有一些我们需要从 Web API 返回的信息。现在,当我们将数据返回给 Postman 时,自定义异常会被 Base Exception 类覆盖。
这是我们现在得到的输出:
而且,我们在邮递员中需要这些信息。
【问题讨论】:
标签: exception asp.net-web-api2 postman
我们已经创建了自定义异常类,它有一些我们需要从 Web API 返回的信息。现在,当我们将数据返回给 Postman 时,自定义异常会被 Base Exception 类覆盖。
这是我们现在得到的输出:
而且,我们在邮递员中需要这些信息。
【问题讨论】:
标签: exception asp.net-web-api2 postman
我相信您在自定义类的实现中犯了错误。下面是自定义异常类的示例实现。
public class APIExceptionFilter : ExceptionFilterAttribute
{
public override void OnException(HttpActionExecutedContext actionExecutedContext)
{
// Assign the status code that you want as output
HttpStatusCode status = HttpStatusCode.InternalServerError;
string messageToBeDisplayed = "TestMessage";
actionExecutedContext.Response = new HttpResponseMessage { StatusCode = status, Content = new StringContent( messageToBeDisplayed , System.Text.Encoding.UTF8) };
base.OnException(actionExecutedContext);
}
}
在您的“WebApiConfig”类和“Register”方法中,您需要添加如下所示的“APIExceptionFilter”过滤器,因为它将为所有请求注册它:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Add this......
config.Filters.Add(new APIExceptionFilter());
}
}
【讨论】: