Tips

【C#】VSCodeでC#の最小WEB API(Minimal API)を作成する方法と仕組み

かなむ

VSCodeとC#を使って最小API(Minimal API)を作成するには、.NET SDKを使って構築します。VSCodeを使った開発環境構築は別の記事にまとめているので、参考になれば幸いです。

こちらもどうぞ
【C#】VSCodeでC#のアプリを開発する手順
【C#】VSCodeでC#のアプリを開発する手順

Minimal APIは、軽量かつ迅速にWeb APIを作成するための手法です。複雑な設定やコントローラーを必要としないため、特にシンプルなAPIを作りたい場合に最適です。Microsoftの公式リファレンスはこちらです。

かなむ
かなむ

今回はこの記事で作成したVSCode + .NET SDKの環境を使ってMinimal APIを作成してみます。

プロジェクトの作成

プロジェクトフォルダを作成

任意の場所にプロジェクトフォルダを作成します。今回はCドライブの「dev」フォルダに「MinimalAPI」フォルダを作成しました。

プロジェクト作成コマンド実行

下記コマンドでMinimalAPIのプロジェクトを作成します。コマンド中の『{プロジェクト名}』は任意の名前に変更してください。

dotnet new web -n {プロジェクト名}

今回は下記コマンドを実施します。

dotnet new web -n MinimalApi

『-n』はオプションで、「プロジェクト名称の指定」を意味しています。ここでは、「『{プロジェクト名}』に指定した名前でプロジェクトを作成する」と理解できます。その他のオプションについては下記の公式リファレンスを参考にしてください。

https://learn.microsoft.com/ja-jp/dotnet/core/tools/dotnet-new

コマンドを実行すると、下記のようにMinimal APIの構造が生成されます。(画像はVSCode上の表示)

Minimal APIのコーディング

プロジェクト作成直後には、サンプルが準備されています。どんな動作をするかは、Program.csファイルを見れば確認できます。

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

ここでは、パス”/”に対してGetリクエストが要求されたときに”Hello World!”を返却する処理が記載されています。各行についての解説は下記にまとめているので、気になる方はご覧ください。

Q
Program.csの解説
  1. var builder = WebApplication.CreateBuilder(args);
    WebApplicationBuilderオブジェクトを作成しています。このオブジェクトは、ASP.NET Coreアプリケーションの設定や依存関係の注入(DI)の構成を行うために使用されます。
    • CreateBuilder(args):
      アプリケーションのビルダーを初期化します。args はコマンドライン引数を受け取り、アプリケーションの設定に利用されることがあります。
  2. var app = builder.Build();
    ビルダーで設定された構成に基づいてアプリケーションのインスタンスを構築(ビルド)します。
    • Build():
      このメソッドを呼び出すことで、実際にWebアプリケーションのオブジェクトが作成され、以降はこのオブジェクトを使ってリクエストの処理やミドルウェアの設定などを行います。
  3. app.MapGet(“/”, () => “Hello World!”);
    GET リクエストに対するエンドポイントを定義しています。
    • MapGet():
      特定のパス(今回の場合は”/”)に対してGETリクエストをマッピングします。最初の引数がURLのパス、2番目の引数がそのパスにリクエストが来たときに実行される処理です。
    • “/”:
      ルートパスを指し、アプリケーションのベースURL(http://localhost:5000/)にアクセスしたときに対応します。
    • () => “Hello World!”:
      GETリクエストが来たときに実行される処理をラムダ式で定義しています。この場合、単に文字列 “Hello World!” を返します。
  4. app.Run();
    アプリケーションを実行します。
    • Run():
      このメソッドを呼び出すことで、Webサーバーが起動し、リクエストを受け付ける準備が整います。このメソッドが呼び出された後、アプリケーションは無期限にリクエストの待機と処理を続けます。

全体をまとめると、下記のとおりになります。

全体の流れ
  1. アプリケーションのビルダーを作成し、必要な設定を行う。
  2. ビルダーからアプリケーションをビルドする。
  3. GETリクエストを処理するためのエンドポイントを設定する。
  4. アプリケーションを実行し、リクエストを受け付ける。

APIの実行と確認

作成したAPIを実行し、動作を確認してみます。

サーバー起動

下記コマンドをターミナルで実行し、サーバーを起動します。なお、本コマンドはプロジェクトファイル(*.csproj)が存在するディレクトリに(cdコマンドなどで)移動して実行してください。

dotnet run

ブラウザでhttp://localhost:5000(下記参照)にアクセスすると、「Hello World!」が表示されます。

ポート番号について

ポート番号はコマンドを実行したときに表示されるものを指定します。例えば、下記の場合はhttp://localhost:5070にアクセスします。

まとめ

VSCodeとC#を使ってMinimal APIを作成する手順と仕組みを解説しました。Minimal APIは、従来のMVCパターンと異なり、ルーティングやコントローラーを省略し、直接リクエストを処理するコードを記述します。これにより、パフォーマンスが向上し、シンプルなWebアプリケーションやAPIを簡単に構築することが可能です。

本記事が参考になれば幸いです。

ABOUT ME
かなむ
かなむ
現役SE。javaとc#とpythonとvbの経験あり。アプリ開発メイン。インフラ、特にネットワークは苦手。2児の父。好きな寿司ネタは「鯛」。将来は離島に別荘を構えたい。
記事URLをコピーしました