我试图捕获我的Angular中的Web API引发的错误,并且在某些情况下我想显示一个用户友好的错误消息。给定以下响应正文,我将如何访问字符串“必须附加PE和所有者签名才能提交状态”?

{
  "data": {
    "model.WorkflowStepId": [
      "PE and Owner Signature must be attached for a status of Submitted"
    ]
  },
  "exceptionType": "FieldValidation"
}

到目前为止,这是我所拥有的,但是由于当前仅显示字符串“model.WorkflowSetId”,所以我陷入了困境。
this.spinner = this.certService.updateCert(this.damId, this.certId, this.model)
      .subscribe(response => {
        ...
      },
      (errorRes: HttpErrorResponse) => {
        if (errorRes.error && errorRes.error.exceptionType === 'FieldValidation') {
          const errors = errorRes.error.data;
          for(let error in errors)
            this.notificationService.error(error);
        } else {
          console.log(errorRes);
          this.notificationService.error('An unknown error has occurred. Please try again.');
        }
      });

最佳答案

您可以简单地做:

if (errorRes.error && errorRes.error.exceptionType === 'FieldValidation') {
   this.notificationService.error(errorRes.error.data.model.WorkflowStepId[0]);
}

10-06 01:57