雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

.NET9 开始删除内置的 Swagger 支持 可使用Scalar.AspNetCore替代

2024-11-14 48

Microsoft 已决定从 .NET 9 中删除内置的 Swagger 支持 (Swashbuckle)。

为什么 Swagger (Swashbuckle) 被删除?

ASP.NET Core 团队已决定从 .NET 9 中删除内置的 Swagger 支持 (Swashbuckle),原因如下:

维护问题:Swashbuckle 项目不再由其社区所有者积极维护。问题未得到解决或解决,并且 .NET 8 没有正式版本。

ASP.NET Core 的演变:自从在 .NET 5 中引入 Swagger 支持以来,ASP.NET Core 已经有了显著的发展。它现在内置了对描述 Web API 所需的元数据的支持,从而减少了对外部工具的需求。

专注于 OpenAPI:该团队希望使 OpenAPI 成为 ASP.NET Core 中的一等公民。他们计划扩展 OpenAPI 文档生成功能,而不依赖外部包。Microsoft.AspNetCore.OpenApi

替代工具:Visual Studio 现在提供对 .http 文件的内置支持和新的 Endpoints Explorer,从而提供探索、测试和调试 API 的替代方法。

社区驱动的创新:通过消除默认依赖项,团队鼓励使用和开发可能更适合特定项目需求的各种 OpenAPI 工具。

Swagger 的替代方案:Scalar.AspNetCore

Scalar 是来自 OpenAPI/Swagger 文档的交互式 API 文档。

这个 .NET 包 Scalar.AspNetCore 提供了一种基于 OpenAPI/Swagger 文档呈现漂亮的 API引用的简单方法。

Scalar.AspNetCore GitHub地址:https://github.com/scalar/scalar

如何在 Dotnet 9 中使用Scalar.AspNetCore?

1、安装 nuget 包

dotnet add package Scalar.AspNetCore

2、用法示例

using Scalar.AspNetCore;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddOpenApi();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
 app.MapScalarApiReference(); // scalar/v1
 app.MapOpenApi();
}
app.MapGet("/", () => "Hello world!");
app.Run();

运行应用程序时,可以在终端节点访问 API 文档。

http://localhost:port/scalar/v1

更新于:23天前
赞一波!1

文章评论

评论问答