.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即可