ひでぼ~blog

C#ときどきゲーム

Swashbuckle.AspNetCore.Cliでswagger.jsonを出力する

CI/CDでswagger.jsonを出力したかったのでやってみました。

実行環境

  • VS2022 17.7.4
  • .NET 7
  • Swashbuckle.AspNetCore.Cli 6.5.0

Swashbuckle.AspNetCore.Cliをインストールする

プロジェクトのルートで.NET ツールをインストールします。

dotnet new tool-manifest
dotnet tool install Swashbuckle.AspNetCore.Cli

swagger.jsonを出力する

あらかじめASP.NET Core Web APIのプロジェクトを作成しておきReleaseビルドを作成しておきます。 コンソールでプロジェクトのルートに移動して次のコマンドを実行します。

dotnet swagger tofile --output swagger.json SwaggerGenSample/bin/Release/net7.0/SwaggerGenSample.dll v1

引数に出力パス(swagger.json)とアセンブリのパスとStartupで設定したswagger doc(v1)を指定します。

こんな感じでメッセージが出ていればswagger.jsonが出力されてます。

PS C:\Projects\SwaggerGenSample> dotnet swagger tofile --output swagger.json SwaggerGenSample/bin/Release/net7.0/SwaggerGenSample.dll v1
Swagger JSON/YAML successfully written to C:\Projects\SwaggerGenSample\swagger.json