在 .NET 9 中使用 Scalar 替代 Swagger,你學(xué)會了嗎?
前言
在.NET 9發(fā)布以后ASP.NET Core官方團(tuán)隊發(fā)布公告已經(jīng)將Swashbuckle.AspNetCore(一個為ASP.NET Core API提供Swagger工具的項目)從ASP.NET Core Web API模板中移除,這意味著以后我們創(chuàng)建Web API項目的時候不會再自動生成Swagger API文檔了。那么今天咱們一起來試試把我們的EasySQLite .NET 9的項目使用Scalar用于交互式API文檔。
圖片
Scalar介紹
Scalar是一個功能強(qiáng)大、易于使用的API客戶端和文檔生成工具,適用于各種規(guī)模的API項目,支持多種編程語言和平臺。
- scalar:https://github.com/scalar/scalar
- scalar.aspnetcore:https://github.com/scalar/scalar/tree/main/packages/scalar.aspnetcore
下載EasySQLite項目
EasySQLite是一個.NET 9操作SQLite入門到實戰(zhàn)的詳細(xì)教程,主要是對學(xué)校班級,學(xué)生信息進(jìn)行管理維護(hù)。
圖片
- 下載地址:https://github.com/YSGStudyHards/EasySQLite
git clone https://github.com/YSGStudyHards/EasySQLite.git
安裝 Scalar.AspNetCore 包
在NuGet包管理器中搜索:Scalar.AspNetCore (支持.NET 8和.NET 9)選擇安裝:
圖片
安裝 Microsoft.AspNetCore.OpenApi 包
用于添加OpenApi服務(wù),這是Scalar所需的:
圖片
在 Program 中配置
// 添加OpenApi服務(wù),這是Scalar所需的
builder.Services.AddOpenApi(options =>
{
options.AddDocumentTransformer((document, context, cancellationToken) =>
{
document.Info = new()
{
Title = "EasySQLite API",
Version = "V1",
Description = ".NET 8操作SQLite入門到實戰(zhàn)"
};
return Task.CompletedTask;
});
});
// 在開發(fā)環(huán)境中啟用Scalar
if (app.Environment.IsDevelopment())
{
app.MapScalarApiReference();//映射Scalar的API參考文檔路徑
app.MapOpenApi();//映射OpenApi文檔路徑
}
查看Scalar交互式API文檔
在訪問端口后面增加scalar/v1即可查看效果:
- https://localhost:7240/scalar/v1
圖片
圖片
圖片
圖片
圖片