我是angular和Angular 6的新手。我有一个API,它的400错误请求如下
POST /register
{
"success": false,
"error": {
"email": [
"Enter a valid email address."
]
}
}
我正在尝试调用angular中的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块中获取接口错误响应。
发布于 2018-11-05 18:23:37
您可以通过向HttpClient提供options对象来访问完整的响应,如HttpClient文档中所述。
this.http.get<any>(
this.configUrl, { observe: 'response' });
Blitzstack示例:https://stackblitz.com/edit/angular-lkxdwj?file=src%2Fapp%2Fhello.component.ts
带有头部和statusCode的响应将作为参数提供给catchError操作符和subscribe函数的错误回调。
https://stackoverflow.com/questions/53159528
复制相似问题