Тело ответов об ошибках можно найти в свойстве error
аргумента обратного вызова catchError
.
Так что если у вас есть следующий ответ:
{
"message": "Invalid credentials"
}
Вы можете поймать его, используя catchError
как это:
login(): Observable<any> {
const url = ''; // TODO
const body = {}; // TODO
return this.http.post(url, body).pipe(
tap(response => console.log('Success!')),
catchError((err: any) => {
const response = err.error;
const message = response.message;
console.log(`Error: ${message}`);
return of(null);
})
);
}