如何在Angular 6中的CatchError块中获取API错误响应?

问题描述 投票:0回答:1

我是角度和角度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错误响应。

angular angular6
1个回答
0
投票

您可以通过向qttxswpoi文档中描述的HttpClient提供选项对​​象来访问完整的响应。

HttpClient

Blitzstack例子:this.http.get<any>( this.configUrl, { observe: 'response' });

header和statusCode的响应将作为catchError运算符的参数和subscribe函数的错误回调。

© www.soinside.com 2019 - 2024. All rights reserved.