Как преобразовать HttpResponse в HttpErrorResponse - PullRequest
0 голосов
/ 03 мая 2018

У меня есть веб-служба, возвращающая пользовательские ошибки в ответе 200, в классическом errors объекте.

Это нарушает мой рабочий процесс и шаблоны, где я обычно перехватываю правильные коды ошибок HTTP и продолжаю обрабатывать различные случаи ошибок оттуда.

Мне нужно преобразовать эти пользовательские ошибки в правильные HttpErrorResponse ошибки с помощью перехватчика, чтобы я мог затем перехватить те теперь исправные ошибки и продолжить работу с моим приложением в соответствии с обычными рекомендациями.

То, что я не могу сделать:

  • Изменить веб-службу так, чтобы она возвращала правильные ошибки HTTP
  • В центре есть другой веб-сервис для обработки преобразования до того, как Response попадет в клиентское приложение

Что бы я хотел сделать:

  • Сделайте следующий пример Stackblitz работающим. Часть, которую необходимо исправить, находится в interceptors/custom-error.interceptor.ts
    https://stackblitz.com/edit/angular-pnv63p

Так что, когда в ближайшем будущем я буду работать над несколькими другими приложениями, использующими тот же немодифицируемый веб-сервис, я могу просто добавить CustomErrorInterceptor и вызвать его через день.

1 Ответ

0 голосов
/ 03 мая 2018

А вот ответ, который только что нашел мой друг:

throw new HttpErrorResponse({ error: 'bar', status: 403 });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...