Параметр: {наблюдать: 'ответ'} , позволяет прочитать полный ответ, включая заголовки.См. Описание ниже: -
Скажите HttpClient, что вы хотите получить полный ответ с параметром наблюдения:
getConfigResponse(): Observable<HttpResponse<Config>> {
return this.http.get<Config>(this.configUrl, { observe: 'response' });
}
Теперь HttpClient.get () возвращает Observable типизированного HttpResponse, а не простоДанные JSON.
this.configService.getConfigResponse()
// resp is of type `HttpResponse<Config>`
.subscribe(resp => {
// display its headers
const keys = resp.headers.keys();
this.headers = keys.map(key =>
`${key}: ${resp.headers.get(key)}`);
// access the body directly, which is typed as `Config`.
this.config = { ...resp.body };
});
и получение такого сообщения об ошибке: -
private handleError(error: HttpErrorResponse) {
if (error.error instanceof ErrorEvent) {
// A client-side or network error occurred. Handle it accordingly.
console.error('An error occurred:', error.error.message);
} else {
// The backend returned an unsuccessful response code.
// The response body may contain clues as to what went wrong,
console.error(
`Backend returned code ${error.status}, ` +
`body was: ${error.error}`);
}
// return an observable with a user-facing error message
return throwError(
'Something bad happened; please try again later.');
};
import {catchError} из 'rxjs / operator';
getConfig() {
return this.http.get<Config>(this.configUrl)
.pipe(
catchError(this.handleError)
);
}
Ссылка: https://angular.io/guide/http: чтение полного ответа
Измените свой код соответствующим образом.