我对Angular 7中的错误处理有疑问。
我在后端进行了全局验证处理,返回的对象类似于邮递员中的
{
"errors": {
"prop1": [
"Required"
],
"prop2": [
"Required"
]
},
"type": "ValidationException",
"status": 400,
"detail": "Validation failed",
}
但是我没有在Angular中得到相同的对象,而是从Angular中丢失了所有这些属性的默认错误。因此,我不知道哪个属性包含问题以及缺少什么。
我尝试使用拦截器:
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).pipe(
retry(1),
catchError((error: any) => {
// my code
return throwError(error);
})
);
}
并带有错误处理程序:
export class ErrorHandler implements ErrorHandler {
constructor() { }
public handleError(error: any) {
if (error && error.errors) {
// custom handling
}
}
}
并且两个错误都没有服务器正在发送的信息。
是否可以通过某种方式在Angular中获得相同的结构?还是死路一条?如果可以的话,还有哪些选择呢?
谢谢!