0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【C#】AspireのダッシュボードからSwaggerを起動する方法

0
Last updated at Posted at 2025-10-14

.NET Aspire のダッシュボードから Swagger UI を直接起動できるようにする方法を紹介します。

はじめに

.NET Aspire で API プロジェクトを開発している際、ダッシュボードから Swagger UI に簡単にアクセスしたいことがあります。デフォルトではルートパスが表示されますが、一工夫することで Swagger を直接起動できるようになります。

実装方法

方法 1: ルートパスでのリダイレクト設定

ルートパス(/)にアクセスした際に、自動的に Swagger UI にリダイレクトする方法です。API プロジェクトのProgram.csファイル内で以下のようにして Swagger にリダイレクトするようにします。

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();

    // ルートパスアクセス時にSwaggerにリダイレクト
    app.MapGet("/", () => Results.Redirect("/swagger"));
}

メリット:

  • コード上で明示的にリダイレクト処理が記述されている

方法 2: launchSettings.json での設定

プロジェクトのlaunchSettings.jsonファイルでデフォルトのパスを/swaggerに設定する方法です。

{
  "profiles": {
    "http": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

メリット:

  • ダッシュボード上に表示される URL が最初から Swagger のパスになる
  • 設定ファイルベースなので、環境ごとに異なる設定が可能

動作確認

どちらの方法を選択しても、Aspire ダッシュボードから以下の手順で Swagger UI にアクセスできます:

  1. Aspire アプリケーションを起動
  2. ダッシュボードで API プロジェクトのエンドポイントを確認
  3. エンドポイントリンクをクリック
  4. Swagger UI が表示される

おすすめの選択

個人的には**方法 1(リダイレクト設定)**をおすすめします。理由は以下の通りです:

  • コード上で明示的に処理が記述されているため、意図が明確
  • 他の開発者が見たときに、なぜこの設定があるのかが理解しやすい
  • デバッグ時にブレークポイントを設定してリダイレクト処理を確認できる

まとめ

.NET Aspire のダッシュボードから直接 Swagger UI にアクセスする方法を 2 つ紹介しました。どちらの方法も簡単に実装でき、API 開発時の生産性向上に役立ちます。

プロジェクトの要件や開発チームの好みに応じて、適切な方法を選択してください。

この記事が皆様のコーディングライフの助けになれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?