После этого просто назначьте APIErrorResponse вместо HttpErrorResponse своему объекту ошибки и получите доступ к пользовательской ошибке вашего сервера, как указано выше: error.error

я есть HttpInterceptor, чтобы ловить ошибки и отображать их в модальном режиме. Помимо кода ошибки и сообщения, я также хотел бы показать тело ответа, которое на самом деле содержит более точное описание ошибки (например, при внутренней ошибке 500 на сервере). Как я могу добиться этого в угловых? (Я использую версию 4.3.6.)

Я уже посмотрел на связанные вопросы, но такие ответы, как HttpErrorResponse._body или аналогичные, не работают для меня. Кроме того, при проверке ответа об ошибке в консоли для HttpErrorResponse.error устанавливается значение null.

Вот как выглядит мой перехватчик:

@Injectable()
export class HttpErrorInterceptor implements HttpInterceptor {
  public constructor(private httpErrorService: HttpErrorService) { }

  public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    return next.handle(req).do(event => {
    }, (error: HttpErrorResponse) => {
      console.log('HTTPERROR INTERCEPTOR');
      console.log(error);
      if (error.status >= 400) {
        this.httpErrorService.onError(error);
      }
    });
  }
}

Ответы на вопрос(1)

Ваш ответ на вопрос