.NET9 开始删除内置的 Swagger 支持 可使用Scalar.AspNetCore替代
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
更新于:14小时前相关文章
- .NET9 C# 13 有哪些新特性?
- 微软 .NET 9 正式发布!专为云原生和生成式 AI 应用设计
- .NET 9 中System.Text.Json 的新增功能
- 什么是.NET渐进式Web应用(PWA)
- .NET9在ASP.NET MVC有什么更新?
- .NET开发中常见的异常报错原因和解决方法?
- .NET框架和CLR的工作原理?
- ASP.NET MVC与Web Forms的区别
- .NET C#中的IEnumerable和IEnumerator的区别
- 使用ADO.NET连接到南大通用GBase 8s数据库
- 鸿蒙OpenHarmony系统可以运行跨平台的.NET Core吗?
- ASP.NET Core使用partial标签报错
- .NET 9 即将推出的功能Task.WhenEach
- .NET 使用HttpClientFactory+Polly替代直接使用HttpClient
- .NET Framework被淘汰了吗?
- 强大的 .NET Mock 框架 单元测试模拟库Moq使用教程
- Asp.Net Core进程内托管 和 进程外托管的区别
- 什么是.NET云原生应用程序?
- ASP.NET Core实现多语言本地化Web应用程序
- PDFiumCore | .NET Core PDF 处理渲染库