[英]How do I get API error response in CatchError block in Angular 6?
我是angular和Angular 6的新手。我有一個API,其400錯誤請求錯誤如
POST /register
{
"success": false,
"error": {
"email": [
"Enter a valid email address."
]
}
}
我試圖按如下所示的角度調用API
register(username: string, email: string, password, first_name: string, last_name: string) {
return this.http.post<any>(this.registerURL,
{"username": username, "password": password, "email": email, "first_name": first_name,
"last_name": last_name})
.pipe(map(user => {
if (user && user.token) {
localStorage.setItem('token', user.token);
}
return user;
}),
catchError((error: any) => {
return throwError(error);
})
);
}
我的問題是如何在CatchError塊中獲得API錯誤響應。
您可以按照HttpClient文檔中所述向HttpClient提供options對象來訪問完整的響應。
this.http.get<any>(
this.configUrl, { observe: 'response' });
Blitzstack示例: https ://stackblitz.com/edit/angular-lkxdwj ? file = src%2Fapp%2Fhello.component.ts
帶有標頭和statusCode的響應將作為catchError運算符和訂閱函數的錯誤回調的參數提供。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.