Получение пользовательских исключений из Asp.Net Web API для почтальона - PullRequest
0 голосов
/ 07 декабря 2018

Мы создали класс Custom Exception, и он содержит некоторую информацию, которую нам нужно вернуть из Web API.Прямо сейчас, когда мы возвращаем данные в Postman, Custom Exception переопределяется классом Base Exception.

Это вывод, который мы получаем сейчас:

введите описание изображения здесь

И эта информация нам нужна в почтальоне.

введите описание изображения здесь

1 Ответ

0 голосов
/ 11 декабря 2018

Я полагаю, вы ошибаетесь в реализации вашего пользовательского класса.Ниже приведен пример реализации пользовательского класса исключений.

 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());
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...