在Angular 2中,我们使用HttpClient模块来进行HTTP请求,而不再使用$httpProvider。$httpProvider是AngularJS 1.x版本中的概念。
在Angular 2中,我们可以通过创建一个自定义的HttpInterceptor来设置HTTP请求的headers。下面是一个示例:
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class CustomInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
// 在这里设置headers
request = request.clone({
setHeaders: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_token_here'
}
});
return next.handle(request);
}
}
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 YourModule { }
现在,当你发起HTTP请求时,CustomInterceptor会自动添加你定义的headers到请求中。
需要注意的是,以上示例中的headers只是一个示例,你需要根据你的实际需求来设置headers。
关于Angular中的HTTP请求和拦截器的更多信息,你可以参考以下链接:
领取专属 10元无门槛券
手把手带您无忧上云