我试图捕获我的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]);
}