.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
更新于:23天前相关文章
- ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构
- 如何从.NET Framework迁移到.NET Core或.NET 6/7?
- 如何优化ASP.NET Core应用的性能?
- 10款.NET开发中推荐的代码分析和质量工具
- .NET9 Blazor有哪些更新?
- 在Docker、Kubernetes环境下部署.NET应用的最佳实践
- .NET 游戏开发框架有哪些?
- PluginCore 基于 ASP.NET Core 的轻量级插件框架
- .NET C# EntityFramework(EF)连接SQLite代码示例
- Sylvan.Data.Excel 性能优异的开源.NET Excel数据读取库
- ASP.NET Core 中常用的内置中间件
- .NET9 F#有什么新特性?
- .NET 开源 ORM FreeSql 使用教程
- .NET9 C# 13 有哪些新特性?
- 微软 .NET 9 正式发布!专为云原生和生成式 AI 应用设计
- .NET 9 中System.Text.Json 的新增功能
- 什么是.NET渐进式Web应用(PWA)
- .NET9在ASP.NET MVC有什么更新?
- .NET开发中常见的异常报错原因和解决方法?
- .NET框架和CLR的工作原理?