要在Angular 6的HTTP拦截器中获取自定义参数的请求,你可以按照以下步骤进行操作:
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, next: HttpHandler): Observable> {
// 在这里获取自定义参数
const customParam = request.headers.get('X-Custom-Param');
console.log('Custom Param:', customParam);
// 继续处理请求
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 AppModule { }
import { Component } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
@Component({
selector: 'app-root',
template: `
`
})
export class AppComponent {
constructor(private http: HttpClient) { }
sendRequest() {
const headers = new HttpHeaders().set('X-Custom-Param', 'custom-value');
this.http.get('http://example.com/api', { headers }).subscribe(response => {
console.log('Response:', response);
});
}
}
以上代码示例中,我们使用自定义的拦截器CustomInterceptor来获取请求的自定义参数,并在控制台中打印出来。在发送请求时,我们使用HttpHeaders类来设置自定义参数。
通过以上步骤,你就可以在Angular 6的HTTP拦截器中获取自定义参数的请求了。