Bootstrap

.NET9增强OpenAPI规范,不再内置swagger

ASP.NETCore in .NET 9.0 OpenAPI官方文档ASP.NET Core API 应用中的 OpenAPI 支持概述 | Microsoft Learnhttps://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/openapi/overview?view=aspnetcore-9.0https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/openapi/overview?view=aspnetcore-9.0

Install-Package Microsoft.AspNetCore.OpenApi

//在应用生成器的服务集合上使用AddOpenApi扩展方法添加 OpenAPI 服务。
builder.Services.AddOpenApi();// Document name is v1

//映射 OpenAPI 文档路径
app.MapOpenApi();

提取生成的 OpenAPI 文档时,文档名称作为请求中的doucumentName参数提供。

GET http://localhost:5000/openapi/v1.json 

Swagger使用

Install-Package Swashbuckle.AspNetCore.SwaggerUI

在Program.cs中配置Swagger

if (app.Environment.IsDevelopment())
{
    app.MapOpenApi();
    app.UseSwaggerUI(options =>
    {
        options.SwaggerEndpoint("/openapi/v1.json", "v1");
    });
}

访问地址:~/Swagger

Scalar使用

Install-Package Scalar.AspNetCore

using Scalar.AspNetCore;

if (app.Environment.IsDevelopment())
{
    app.MapOpenApi();
    app.MapScalarApiReference();
}

访问地址:~/Scalar

;