我正在尝试在 Angular 项目中处理来自后端的服务器错误。我正在使用角度 HTTP 拦截器。这是我的拦截器服务类
@Injectable({
providedIn: 'root'
})
export class InterceptorService implements HttpInterceptor {
constructor() { }
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request)
.pipe(
retry(1),
catchError((error: HttpErrorResponse) => {
let errorMessage = '';
if (error.error instanceof ErrorEvent) {
// client-side error
errorMessage = `Error: ${error.error.message}`;
console.log(errorMessage);
} else {
// server-side error
errorMessage = `Error Status: ${error.status}\nMessage: ${error.message}`;
}
console.log(errorMessage);
return throwError(errorMessage);
})
);
}
}
我在 app.module.ts 文件中添加了这个。
providers:[ [{ provide: HTTP_INTERCEPTORS, useClass: InterceptorService, multi: true }]
]
如果我检查并检查 UI,我可以看到红色的500 服务器错误。如何通过在我的 Angular 项目中结合这个 http 拦截器在 html 代码中显示用户友好的消息。我可以使用这个 http 拦截器在 UI 中显示用户友好的错误消息吗?如果我使用 http 拦截器,是否需要使用代理?