从服务器Angular获取错误对象

时间:2019-04-29 16:19:31

标签: angular error-handling custom-error-handling

我对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中获得相同的结构?还是死路一条?如果可以的话,还有哪些选择呢?

谢谢!

0 个答案:

没有答案