.net 10创建WebAPI

4 阅读1分钟

.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();