从Angular应用程序中的HttpErrorResponse获取错误消息

时间:2018-06-18 12:44:31

标签: angular

我有一个Angular应用程序调用rest api,它可以返回类似于这个图像的错误。

enter image description here

如何在我的API调用中解析此问题以提取错误消息?

我正在使用以下代码:

this.authService.login(this.userLogin)
    .pipe(first())
    .subscribe(
        data => {
            this.router.navigate([this.returnUrl]);
        },
        error => {
          console.log(error)
          this.alertService.validationError(error.error);
            this.isRequesting = false;
        });

但是error.error给了我一个数组,其中我不知道密钥是什么 - 在图像中它是login_failure但它可能是任何东西而且我不知道如何解析它。

1 个答案:

答案 0 :(得分:1)

您可以使用此小片段提取第一个错误:

error.error[Object.keys(error.error)[0]];

Object.keys(error.error)将对象的键提取为数组,然后就像通常在数组中一样访问第一个键。