gpt4 book ai didi

angular - 拦截器不拦截 http 请求(Angular 6)

转载 作者:太空狗 更新时间:2023-10-29 17:02:08 25 4
gpt4 key购买 nike

我正在为我的 Angular 6 项目添加一个拦截器。要调用我的 API,我需要向所有调用添加不记名 token 。不幸的是拦截器似乎没有被调用。我的代码:

import { Injectable } from "@angular/core";
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from "@angular/common/http";
import { Observable } from "rxjs";

@Injectable()
export class AuthInterceptor implements HttpInterceptor {

intercept(req: HttpRequest<any>,
next: HttpHandler): Observable<HttpEvent<any>> {

//Retrieve accesstoken from local storage
const accessToken = localStorage.getItem("access_token");

//Check if accesToken exists, else send request without bearer token
if (accessToken) {
const cloned = req.clone({
headers: req.headers.set("Authorization",
"Bearer " + accessToken)
});

console.log('Token added to HTTP request');

return next.handle(cloned);
}
else {
//No token; proceed request without bearer token
console.log('No token added to HTTP request');
return next.handle(req);
}
}
}

有谁知道可能导致此问题的原因是什么?提前致谢。

最佳答案

在我的例子中,拦截器没有参与服务调用,因为我为不同的模块多次导入了 HttpClientModule

后来发现HttpClientModule必须只导入一次。 Doc ref

关于angular - 拦截器不拦截 http 请求(Angular 6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50860293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com