升級 .NET 9 後把 Swagger 替換成 Scalar

要把 Swagger 替換成 Scalar 的原因無他,因為官方決定器用 Swagger 了,可以在此文章 Announcement: Swashbuckle.AspNetCore is being removed in .NET 9 看到相關資訊。

替換的方法超簡單,因為 Scalar 本身就有支援 .NET,只要使用 Scalar 官方提供package 即可,使用方法也超方便,以下簡單範例:

  1. 安裝 package
dotnet add package Scalar.AspNetCore
  1. 啟用 scalar
using Scalar.AspNetCore;

var builder = WebApplication.CreateBuilder();

builder.Services.AddOpenApi();

var app = builder.Build();

app.MapOpenApi();

if (app.Environment.IsDevelopment())
{
    app.MapScalarApiReference();
}

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

app.Run();

之後即可以存取網址 http://localhost:500/scalar/v1 就可以看到類似 Swagger 互動測試 API 界面了。