You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET配置Swagger后访问localhost/swagger出现404错误求助

问题根源

你同时在Program.cs和Startup.cs里配置Swagger,这两种配置模式(.NET 6+顶级语句模式 vs 旧版Startup类模式)在同一项目里会冲突,再加上路由配置矛盾,直接导致页面找不到:

  • Program.cs里设置了c.RoutePrefix = string.Empty;,把Swagger UI绑定到了根路径/
  • 但Startup.cs里又重复注册Swagger中间件,还把根路径重定向到/swagger/,两边路由逻辑打架,自然找不到页面
解决办法

你的项目是.NET 6及以上版本(从Program.cs写法可判断),直接统一用Program.cs的配置即可:

1. 删除Startup.cs里的Swagger相关代码

打开Startup.cs的Configure方法,删掉以下内容:

if (env.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "Quanta 5 API"));
}

同时删掉根路径重定向的这段代码:

endpoints.MapGet("/", context =>
{
    context.Response.Redirect("/swagger/");
    return Task.CompletedTask;
});

2. 调整Program.cs的配置(二选一)

方案一:让Swagger直接在根路径访问

保留现有Program.cs的Swagger配置,此时访问https://localhost:44301/就能打开Swagger。如果想让/swagger路径也能访问,添加一个重定向端点:

var app = builder.Build();
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
        c.RoutePrefix = string.Empty;
    });
}

// 添加重定向,让/swagger指向根路径
app.MapGet("/swagger", context =>
{
    context.Response.Redirect("/");
    return Task.CompletedTask;
});

app.MapControllers(); // 必须添加,否则控制器接口无法访问
app.Run();

方案二:让Swagger回到/swagger路径

如果不想让Swagger占用根路径,修改Program.cs里的RoutePrefix为"swagger"(默认值就是这个,也可以直接删掉这行),再加个根路径重定向:

var app = builder.Build();
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
        c.RoutePrefix = "swagger"; // 可省略,默认即为swagger
    });
}

// 根路径自动跳转到swagger
app.MapGet("/", context =>
{
    context.Response.Redirect("/swagger");
    return Task.CompletedTask;
});

app.MapControllers();
app.Run();

3. 验证

清理项目,重新生成并启动:

  • 方案一:访问https://localhost:44301/或https://localhost:44301/swagger都能打开Swagger UI
  • 方案二:访问https://localhost:44301/swagger或根路径会自动跳转至Swagger页面

内容的提问来源于stack exchange,提问作者JoubasaurusREX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 03:56:16