- HttpClientを使用する方法:
AngularのHttpClientモジュールを使用してHTTPリクエストを送信し、レスポンスヘッダーを取得することができます。以下は、GETリクエストの例です。
import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) {}
getData() {
this.http.get('https://api.example.com/data', { observe: 'response' })
.subscribe(response => {
const headers = response.headers;
// レスポンスヘッダーの処理
});
}
- HttpHeadersオブジェクトを使用する方法:
HttpHeadersオブジェクトを使用して、HTTPリクエストにカスタムヘッダーを追加し、レスポンスヘッダーを取得することもできます。以下は、GETリクエストの例です。
import { HttpClient, HttpHeaders } from '@angular/common/http';
constructor(private http: HttpClient) {}
getData() {
const headers = new HttpHeaders().set('Authorization', 'Bearer token');
this.http.get('https://api.example.com/data', { headers, observe: 'response' })
.subscribe(response => {
const headers = response.headers;
// レスポンスヘッダーの処理
});
}
- Interceptorを使用する方法:
AngularのInterceptorを使用すると、すべてのHTTPリクエストとレスポンスをキャプチャし、ヘッダーを取得することができます。以下は、Interceptorの例です。
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class HeaderInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).pipe(
tap(event => {
if (event instanceof HttpResponse) {
const headers = event.headers;
// レスポンスヘッダーの処理
}
})
);
}
}
これらの方法を使用することで、Angularでレスポンスヘッダーを取得することができます。必要に応じて、コードをカスタマイズして使用してください。