您可能听说过,Swagger 在 ASP.NET 9 的模板中被删除了。因此,这篇博文将向您展示替代方案。
移除了 Swagger
Swagger 是一个基于 Open API 的图形工具,它提供了一个图形界面来交互和测试 API。该团队宣布他们从 ASP.NET 9 的模板中删除了 Swagger。主要是因为团队希望利用他们自己的实现,而不想依赖 Swashbuckle,根据该线程,Swashbuckle 不再维护。
如果你启动一个新项目,你“只会”发现以下内容:
builder.Services.AddOpenApi();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
}
AddOpenApi并MapOpenApi来自Microsoft.AspNetCore.OpenApi现在默认包含的内容。有了它,您可以生成开放 API 规范!如果您启动应用程序并转到,https://localhost:<port>/openapi/v1.json您就会获得规范!但交互性消失了。所以这里有一些选项。
只需再次安装 Swashbuckle!
您可以再次安装 Swashbuckle。它仍然得到维护并且运行良好。只需安装软件包并将以下代码添加到您的Program.cs:
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.7.3" />
好了!Swagger 回来了!Swagger 的优势在于它确实可以定制,许多人都需要这种程度的定制。
NSwag
另一个选择是NSwag。NSwag 还能够提供 Swagger UI。与 Swashbuckle 类似,您还可以自动创建 TypeScript 类型,...
Scalar
相对较新的是:Scalar。它们具有大量集成,当然也适用于 .NET。我确实喜欢他们生成的网站的吸引力。快速入门指南可在此处获得。但最基本的部分是:
添加包:
dotnet add package Scalar.AspNetCore
并将以下代码添加到您的Program.cs:
builder.Services.AddOpenApi();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
+ app.MapScalarApiReference();
}
完成了!它看起来是这样的:
如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。