Column

プログラミング
[HttpGet] API通信の実行
2023.02.14

このコラムでは、angularとC#間の通信のためのAPIをどのように書けばよいかを明記します。このコラムを読んだ後は、無事にGet APIを書くことができるようになります。例題を見て、その仕組みを理解しましょう。

public class FrameController : ControllerBase
{
 [HttpGet]
 public ActionResult Get()
 {
   var variable1 = Manager.Frames();
   var ByteFrames = Encoding.ASCII.GetBytes(variable1)
   return this.File(ByteFrames,"application/octet-stream");
 }
}

上記は、HttpGet プロトコルの簡単な例で、Manager クラスに設定された “Frames” という変数に関する情報をアプリケーションのフロントエンドに送信しています。このようなAPIを使用する場合、変数の型をbyteに変換することに注意することが重要です。APIは、情報をバイトパケットまたはファイルストリームで送信するためです。フロントエンドでは、このAPIが提供する情報を呼び出すために、関数が特別に呼び出されることになる。重要な余談だが、意図したとおりに動作させるためには、proxy.conf.jsにクラス名を追加する必要がある。

var url4 = this.baseUrl + 'frames'; //for frames
var arrayBufPromise2 = this.getArrayBuffer(url4);
this.TotalFrames = arrayBufPromise2.then((res) => {
var bytearray = DatastoreService.ToUint8Values(res); 
return bytearray;
})

Frontendのスニペットは、APIを呼び出してレスポンスを要求しているので、このようになります。このレスポンスは、データストア・クラスに埋め込まれた別の関数で、この処理の最初に元の型に関数内で変換される。

今回は、APIの簡単な紹介と、フロントエンドとバックエンドが通信するための簡単なAPIの作り方を紹介します。 今後、Post APIプロトコルについても同様のコラムを追加していく予定ですので、ご期待ください。