このコラムでは、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プロトコルについても同様のコラムを追加していく予定ですので、ご期待ください。