.net 9 AOT对性能有较大提升 (其他帖子有写50%左右)。

但Web API的AOT模版取消了Swagger,查阅资料发现可以自己引入OpenAPI,但不知道是否生效,故尝试一下。

1.OpenAPI

https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/openapi/aspnetcore-openapi

先按照官方文档引入OpenAPI

具体做法是dotnet add package Microsoft.AspNetCore.OpenApi

builder.Services.AddOpenApi();

if (app.Environment.IsDevelopment()) { app.MapOpenApi(); } //AOT模版也没有判断开发环境这一步,需手动添加。

随后运行,打开https://localhost:<port>/openapi/v1.json 以查看生成的 OpenAPI 文档

2.Scalar

查阅资料发现swagger好像不被重视。https://www.cnblogs.com/netry/p/18543378/scalar-an-alternative-to-swagger-in-dotnet-9

可以用Scalar代替。

dotnet add package Scalar.AspNetCore

if (app.Environment.IsDevelopment())

{

app.MapScalarApiReference(); // scalar/v1 //添加scalar

app.MapOpenApi();

}

随后运行访问localhost:port/scalar/v1即可