我使用http拦截器向每个请求添加一个auth令牌,但是对于一个请求,我必须添加另一个由auth令牌插入的令牌。我的问题是我无法为请求设置标题。
我尝试了这些,但是没有一个能正常工作。这些将标头设置在有效负载中,而不是实际标头中。
header = new HttpHeaders({'Content-Type': 'application/json'});
header2: HttpHeaders = new HttpHeaders();
constructor(private httpClient: HttpClient) {
this.header2.append('Authorization', this.getRefreshToken());
}
ngOnInit() {
this.httpClient.post('http://localhost:3001/api/token-exchange', { headers: this.header2}).subscribe()
}
即使它可以工作,拦截器也会覆盖它,所以我尝试使用HttpBackend,但是那也不起作用。
constructor(
private httpClient: HttpClient,
handler: HttpBackend
) {
this.httpClient = new HttpClient(handler);
this.header2 = this.header2.set('Authorization', this.getRefreshToken());
}
答案 0 :(得分:1)
一种阻止这种情况的方法是检查拦截器中http请求的URL,并将该URL从您将应用的常规逻辑中排除。然后像往常一样在http调用中添加所需的标头。