在Angular中,可以通过拦截器来设置HTTP头。以下是一个示例:
首先,创建一个拦截器类来设置HTTP头,例如HttpInterceptor
:
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class CustomInterceptor implements HttpInterceptor {
constructor() {}
intercept(req: HttpRequest, next: HttpHandler): Observable> {
// 设置自定义的HTTP头
const modifiedReq = req.clone({
setHeaders: {
'Custom-Header': 'Custom Value'
}
});
return next.handle(modifiedReq);
}
}
然后,在你的模块中,将该拦截器添加到提供者数组中:
import { NgModule } from '@angular/core';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { CustomInterceptor } from './custom-interceptor';
@NgModule({
imports: [HttpClientModule],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: CustomInterceptor,
multi: true
}
]
})
export class AppModule {}
现在,每次发起HTTP请求时,都会自动添加自定义的HTTP头。
请注意,如果你想要更具体的控制,可以在拦截器中根据具体的请求进行判断和设置。