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