在Angular中,可以使用HttpInterceptor
来操作HTTP请求和响应。通过创建一个自定义的HttpInterceptor
,可以在请求发送之前修改请求头。
下面是一个示例,演示如何通过HttpInterceptor
在请求中添加自定义头信息:
import { Injectable } from '@angular/core';
import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';
@Injectable()
export class CustomInterceptor implements HttpInterceptor {
intercept(req: HttpRequest, next: HttpHandler): Observable> {
const customReq = req.clone({
setHeaders: {
'Custom-Header': 'Custom Value'
}
});
return next.handle(customReq);
}
}
然后,在应用的providers
数组中提供自定义拦截器:
import { NgModule } from '@angular/core';
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { CustomInterceptor } from './custom.interceptor';
@NgModule({
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: CustomInterceptor,
multi: true
}
]
})
export class AppModule { }
这样,每个HTTP请求都会自动添加名为Custom-Header
的请求头,并设置为Custom Value
。
请注意,这只是一个示例,您可以根据需要自定义拦截器的行为。