Angular_HttpClientでバックエンド通信する #344日目
SPAで開発している時、フロントからバックエンド通信を行いますが、Angularにおいてその役割を果たしてくれるのが「HttpClient」モジュールです。
その使い方をメモしておきたいと思います。
まずapp.module.tsにインポートします。
import {HttpClientModule} from '@angular/common/http';
@NgModule({
imports: [
BrowserModule,
HttpClientModule // HttpClientModuleはBrowserModuleの後に追加する。
],
declarations: [
AppComponent,
],
bootstrap: [ AppComponent ]
})
export class AppModule {}
HttpClientを使用するサービスのconstructorで宣言すれば使えるようになります。
export class CardService {
constructor(
private httpClient: HttpClient,
) {}
HttpClientを使用する場合、レスポンスは基本的にObservableタイプで受け取ることになります。例えば認証情報をヘッダーにセットしてGETリクエストを送る場合、以下のように記述できます。
const token = 'XXXXXXXXXX'
const httpOptins = {
headers: new HttpHeaders().set('X-HTTP-AUTH-TOKEN', token)
}
this.httpClient.get('バックエンドAPIのURL', httpOptions).pipe(
map((response: any) => {
const apiResponse = resonse;
return apiResponse;
}),
catchError(error => {
console.error(error);
return observableThrowError('errorです');
})
);
フロントとバックエンドを繋ぐ部分が理解できてくると、アプリ全体への理解も深まりそうです。
ここまでお読みいただきありがとうございました!