I am trying to handle server errors coming from my backend in my Angular project. I am using angular HTTP Interceptors. This is my interceptor service class
@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);
})
);
}
}
I have added this in app.module.ts file.
providers:[ [{ provide: HTTP_INTERCEPTORS, useClass: InterceptorService, multi: true }]
]
If i inspect and check in UI i can see in red color that 500 server error.How can i show a user friendly message in a html code by combining this http interceptors in my angular project. Can I use this http interceptors to show a user friendly error message in UI. And do i need to use a proxy if i am using http interceptors?