.NET チュートリアル - 最初のマイクロサービス

サービスを作成する

コマンド プロンプトで、次のコマンドを実行してアプリを作成します:

ターミナルで、次のコマンドを実行してアプリを作成します:

Command prompt
dotnet new webapi -o MyMicroservice --no-https

次に、前のコマンドで作成された新しいディレクトリに移動します:

Command prompt
cd MyMicroservice

これらのコマンドにはどのような意味がありますか?

dotnet コマンドは、タイプ webapi (REST API エンドポイント) の 新しいアプリケーションを作成します。

  • -o パラメーターでは、アプリが保存される MyMicroservice という名前のディレクトリを作成します。
  • --no-https フラグは、HTTPS 証明書なしで実行されるアプリを作成し、デプロイを簡単にします。

cd MyMicroservice コマンドを実行すると、新しく作成されたアプリ ディレクトリに入れます。

生成されたコード

MyMicroservice ディレクトリに次のファイルを含むいくつかのファイルが作成され、すぐに実行できるシンプルなサービスが用意されました。

  • Program.cs はエントリ ポイント ファイルであり、アプリの起動時に読み込まれるすべての設定と構成が含まれ、次の 5 日間の天気予報を返す単純な API のコードが含まれています。また、アプリケーションも起動します。
  • MyMycroservice.http は、ASP.NET Core プロジェクトのテストに使用されます。
  • MyMicroservice.csproj は、アプリがターゲットにする .NET のバージョン、プロジェクトが参照するライブラリなどを定義します。
  • Properties 内の launchSettings.json は、ローカル開発環境のさまざまなプロファイル設定を定義します。5000 - 5300 の範囲のポート番号は、プロジェクトの作成時に自動的に割り当てられ、このファイルに保存されます。

次のコードは、Program.cs ファイルの内容を示しています。

Program.cs
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

var summaries = new[]
{
    "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};

app.MapGet("/weatherforecast", () =>
{
    var forecast =  Enumerable.Range(1, 5).Select(index =>
        new WeatherForecast
        (
            DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
            Random.Shared.Next(-20, 55),
            summaries[Random.Shared.Next(summaries.Length)]
        ))
        .ToArray();
    return forecast;
})
.WithName("GetWeatherForecast")
.WithOpenApi();

app.Run();

record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
    public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}

下の [続行] を選択して、次の手順に進みます。

エラーが発生しましたか?

Template "ASP.NET Core Web API" のようなメッセージを受信した場合は、作成できませんでした。テンプレートを作成できませんでした。詳細: パス 'C:\Windows\System32\MyMicroservice' へのアクセスが拒否されました、現在のディレクトリを新しいフォルダーを作成するためのアクセス許可を持つディレクトリに変更してから、コマンドを再実行してください。

SDK がインストールされていることが確実でありながら、プロジェクトの作成中に SDK が見つからない場合は、マシンの PATH 環境変数に問題がある可能性があります。この問題を診断して解決する方法については、 Stack Overflow 投稿 の手順をご覧ください。

発生している問題を解決できない場合は、[I ran into an issue] ボタンを選択して、問題の修正方法を確認してください。

続行