在我的angular 5 应用程序下,我正在编写一个拦截器服务:
@Injectable()
export class myInterceptor implements HttpInterceptor {
constructor() { }
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const tokenInHeader = req.clone({setHeaders: {'version': '1LF'}});
return next.handle(tokenInHeader);
}
}
这是将标题“版本”附加到我所有的 http 请求的结果,这不是我想要的
我的目的是如何使用RegExp通过 url过滤我的 https 请求,并将“版本”标头仅附加到匹配的 url
像这样的事情:
request(new RegExp('^api/monitoring|^api/guiTrackers|^/api/monitoring|^/api/guiTrackers'))
建议??
只需使用 if 条件并在 false 时传递原始请求:
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
if (new RegExp('^api/monitoring|^api/guiTrackers|^/api/monitoring|^/api/guiTrackers').test(req.url)) {
const tokenInHeader = req.clone({ setHeaders: { 'version': '1LF' } });
return next.handle(tokenInHeader);
} else {
return next.handle(req);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句