- HttpClientを使用してヘッダーを設定する方法:
import { HttpClient, HttpHeaders } from '@angular/common/http';
// ...
constructor(private http: HttpClient) {}
// ...
const headers = new HttpHeaders()
.set('Content-Type', 'application/json')
.set('Authorization', 'Bearer your_token_here');
this.http.post(url, data, { headers })
.subscribe(response => {
// レスポンスの処理
}, error => {
// エラーハンドリング
});
上記の例では、HttpHeaders
クラスを使用してヘッダーオブジェクトを作成し、set()
メソッドを使用して必要なヘッダーを追加しています。その後、HttpClient
のpost()
メソッドを呼び出す際に、headers
オプションを指定してヘッダーを送信します。
- Interceptorを使用してヘッダーを設定する方法:
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpHeaders } from '@angular/common/http';
@Injectable()
export class HeaderInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler) {
const modifiedRequest = request.clone({
setHeaders: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_token_here'
}
});
return next.handle(modifiedRequest);
}
}
上記の例では、HttpInterceptor
を実装したHeaderInterceptor
クラスを作成しています。intercept()
メソッド内で、request
オブジェクトを複製し、setHeaders
プロパティを使用して必要なヘッダーを設定しています。その後、next.handle()
メソッドを呼び出して、変更されたリクエストを処理します。必要に応じて、このインターセプターをアプリケーションのプロバイダーに登録する必要があります。
このようにして、Angular 8でHTTPリクエストのヘッダーを設定することができます。必要に応じて、上記のコード例をカスタマイズして使用してください。