スポンサーリンク
スポンサーリンク

AngularでWEBAPIからテキストデータを取得して画面に表示する手順

AngularNode.jsPrimeNGVisual StudioVisual Studio CodeWeb APIWeb Framework

AngularでWEBAPIからテキストデータを取得して画面に表示するサンプルを作成しました。
WEBAPIは ASP.NET Core Web API で実装しています。
ソースコードは GitHub で公開しています。

 

WEBAPI側実装

WEBAPIプロジェクト作成

「ASP.NET Core Web API」を選択し「次へ」をクリック。

任意の値を入力し「次へ」をクリック。

任意の値を入力し「作成」をクリック。

 

追加変更したソースコード解説

「ASP.NET Core Web API」プロジェクトを新規作成した時点から、追加変更したソースコードを解説。

 

Src7_Add_InputText_WebAPI/WebApi/WebApplication1/WebApplication1/Controllers/ProfileController.cs

Angularが接続するWEBAPIのコントローラーを追加、テキストデータをGETプロトコルで返す単純な GetString()メソッドを追加。

 

Src7_Add_InputText_WebAPI/WebApi/WebApplication1/WebApplication1/Program.cs

UseCors()を追加し開発環境ではCORSを全て許可。

 

CORSを許可していないと、デバッグ実行したWEBAPIを Angularから呼び出す際に下記エラーが発生する。

 

Angular側実装

サービスコンポーネント作成

WEBAPIを処理する用にサービスコンポーネントを追加。

作成された。

 

追加変更したソースコード解説

 

Src7_Add_InputText_WebAPI/angular/src/app/app.config.ts

http処理に必要なライブラリをインポート。

 

Src7_Add_InputText_WebAPI/angular/src/app/profile/profile.component.html

profile.component.tsに追加した resString変数を画面に表示する処理を追加。

 

Src7_Add_InputText_WebAPI/angular/src/app/profile/profile.component.ts

「ng generate service services/profile」コマンドで作成したサービスを画面にインポート。

サービスから取得したテキストデータを格納し画面に表示するための resString変数を追加。
画面表示初期イベント(ngOnInit)で、サービスの getString()メソッドを非同期(subscribe)で実行し、結果を resString変数に格納する。

 

Src7_Add_InputText_WebAPI/angular/src/app/services/profile.service.spec.ts

※「ng generate service services/profile」コマンドで作成した時点から変更ないので省略。

 

Src7_Add_InputText_WebAPI/angular/src/app/services/profile.service.ts

「ng generate service services/profile」コマンドで作成したサービスに、WEBAPIと接続しテキストデータを取得する getString()メソッドを作成。
getString()メソッドは rxjsを利用し、WEBAPIから取得したテキストデータを非同期(Observables)で返している。

 

実装した環境

Angular側

Angular: 18.2.3
Node.js: 22.8.0
PrimeNG: 17.18.10
Visual Studio Code: 1.93.1

 

WEBAPI側

Visual Studio 2022: 17.11.4

 

参考

 

コメント

タイトルとURLをコピーしました