[我有一个问题,在Angular 8中,如何隐藏http方法服务器链接的行
auth-interceptor.ts
private handleAuthError(err: HttpErrorResponse): Observable<any> {
let errorMsg;
if (err.status === 401 || err.status === 403) {
errorMsg = err.error.message;
this.injector.get(Router).navigateByUrl(`/login`);
}
return throwError(errorMsg);
}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const token = localStorage.getItem("id_token");
if (token) {
const authReq = req.clone({ headers: req.headers.set("Authorization", "Bearer " + token) });
return next.handle(authReq).pipe(catchError(err => this.handleAuthError(err)));
}
else {
return next.handle(req);
}
}
获取http:// localhost:3000 / api / toto 401(未经授权)-此行
错误验证失败!*
通过这种做法,您可以以任何想要的方式警告用户。
如果不想写错误消息,请使用:
private handleAuthError(err: HttpErrorResponse): Observable<any> {
let errorMsg;
if (err.status === 401 || err.status === 403) {
errorMsg = err.error.message;
this.injector.get(Router).navigateByUrl(`/login`);
}
errorMsg.replace(Url, '');
return throwError(errorMsg);
}