我想在HttpInterceptor的以下逻辑中添加一个if语句:
const authToken = this.auth.getAuthorizationToken(); const authReq = req.clone({ headers: req.headers.set('Authorization', `Bearer ${authToken}`) });
在用authToken更新头之前,我想检查authToken是否存在。我很确定这是一个语法问题,或者有另一种方法来设置代码块中req.clone()的headers属性。
let authReq: HttpRequest<any> = req; if (authToken) { authReq = req.clone({ headers: req.headers.set('Authorization', `Bearer ${authToken}`) }); }
你在正确的轨道上。如果令牌存在,则需要修改请求,如果没有令牌,则保持不变。例子:
intercept( req: HttpRequest<any>, next: HttpHandler, ): Observable<HttpEvent<any>> { const authToken = this.auth.getAuthorizationToken(); if (authToken) { req = req.clone({ headers: req.headers.set('Authorization', `Bearer ${authToken}`) }); } return next.handle(req); }