.net 10创建WebAPI
vs2026基于.net10创建WebAPI时,默认生成的代码运行时显示找不到页面。
原因是.net8以后,在Program.cs中默认使用了MapOpenApi(),好处是不需要引入NuGet包,缺点是不生成页面。
可以通过访问localhost:5258/openapi/v1.json查看接口返回的json信息。
而访问localhost:5258/weatherforecast地址可以查看默认方法的接口返回信息。
如果仍希望使用Swagger,需要手动配置一下,安装NuGet包:Swashbuckle.AspNetCore 修改Progran.cs:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddOpenApi(); // 内置轻量级
builder.Services.AddSwaggerGen(); // 完整功能
var app = builder.Build();
if (app.Environment.IsDevelopment()) {
app.MapOpenApi(); // 访问 /openapi/v1.json
app.UseSwagger(); // 访问 /swagger/v1/swagger.json
app.UseSwaggerUI(); // 访问 /swagger
}
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();