在Angular拦截器中,要对请求头进行正确的处理和设置。
以下为示例代码:
在拦截器中创建一个HttpRequest对象,并在其请求头中设置需要添加的参数:
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler } from '@angular/common/http';
@Injectable()
export class MyInterceptor implements HttpInterceptor {
intercept(request: HttpRequest, next: HttpHandler) {
// 添加请求头
const headers = request.headers.set('X-CustomHeader', 'custom header value');
request = request.clone({ headers });
return next.handle(request);
}
}
在应用中使用拦截器:
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
@NgModule({
imports: [
HttpClientModule,
],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: MyInterceptor,
multi: true
}
],
bootstrap: [AppComponent]
})
export class AppModule { }
通过以上方法,可以成功设置和获取添加在请求中的头部参数。