Получение объекта ошибки с сервера Angular - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть вопрос, касающийся обработки ошибок в Angular 7.

У меня есть глобальная проверка валидации в бэкэнде, и возвращенный объект выглядит так же в почтальоне:

{
    "errors": {
        "prop1": [
            "Required"
        ],
        "prop2": [
            "Required"
        ]
    },
    "type": "ValidationException",
    "status": 400,
    "detail": "Validation failed",
}

Но яне получить тот же объект в Angular, скорее ошибка по умолчанию из Angular, где все эти свойства отсутствуют.Итак, я не могу знать, какое свойство содержит проблему, а что отсутствует.

Я пытался работать с перехватчиком:

intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    return next.handle(request).pipe(
      retry(1),
      catchError((error: any) => {
        // my code
          return throwError(error);
      })
    );
  }

И с обработчиком ошибок:

export class ErrorHandler implements ErrorHandler {
   constructor() { }
   public handleError(error: any) {
       if (error && error.errors) {
           // custom handling
       }
   }
}

и обе ошибки не содержат информацию, которую отправляет сервер.

Возможно ли каким-то образом получить такую ​​же структуру в Angular?или это тупик?и если да, то каковы альтернативы?

Спасибо!

...