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

ASP.NET 6多API项目:如何在Chrome单标签页打开所有Swagger?

解决ASP.NET 6多API项目启动多Swagger标签页问题

方案1:合并所有API的Swagger到单个UI(推荐)

如果希望仅打开一个Swagger页面就能访问所有API接口,可在其中一个作为主入口的API项目中配置Swagger,加载其他API的Swagger文档:

  1. 在主API项目的Program.cs中,注册多个Swagger文档:
builder.Services.AddSwaggerGen(c =>
{
    // 注册主API文档
    c.SwaggerDoc("MainAPI", new OpenApiInfo { Title = "Main API", Version = "v1" });
    
    // 注册其他API的文档,按需添加
    c.SwaggerDoc("OrderAPI", new OpenApiInfo { Title = "Order API", Version = "v1" });
    c.SwaggerDoc("ProductAPI", new OpenApiInfo { Title = "Product API", Version = "v1" });
});
  1. 配置Swagger UI,添加所有API的文档地址:
app.UseSwaggerUI(c =>
{
    // 主API的Swagger文档入口
    c.SwaggerEndpoint("/swagger/MainAPI/swagger.json", "Main API v1");
    
    // 其他API的Swagger文档入口,替换为对应项目的实际地址和端口
    c.SwaggerEndpoint("https://localhost:5002/swagger/OrderAPI/swagger.json", "Order API v1");
    c.SwaggerEndpoint("https://localhost:5003/swagger/ProductAPI/swagger.json", "Product API v1");
    
    // 设置Swagger UI为项目根路径(可选)
    c.RoutePrefix = string.Empty;
});
  1. 修改其他API项目的launchSettings.json,禁用自动打开Swagger页面:
    找到对应启动配置的"launchBrowser"字段,设置为false:
"profiles": {
  "https": {
    "commandName": "Project",
    "dotnetRunMessages": true,
    "launchBrowser": false,
    "launchUrl": "swagger",
    "applicationUrl": "https://localhost:5002;http://localhost:5003",
    "environmentVariables": {
      "ASPNETCORE_ENVIRONMENT": "Development"
    }
  }
}

配置完成后,启动所有API项目时只会打开主API的Swagger页面,可在该页面内切换访问所有其他API的接口。

方案2:修改Visual Studio启动行为,复用同一浏览器标签页

若不想合并Swagger文档,仅希望所有API的Swagger页面在同一标签页打开,可调整Visual Studio的浏览器启动设置:

  1. 点击顶部菜单 工具 -> 选项
  2. 导航到 项目和解决方案 -> Web项目
  3. 在 浏览器启动行为 区域,选择 在已有浏览器窗口中打开,总是在同一个标签页
  4. 保存设置后重新启动项目,所有Swagger页面会在同一标签页加载(新地址会替换当前标签页内容)

注:你之前尝试的c.ConfigObject.AdditionalItems["deepLinking"] = "true";仅用于Swagger UI内部的页面跳转(如点击接口链接时在当前标签页导航),无法控制Visual Studio启动时打开新标签页的行为,因此无法解决你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 11:27:26