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

.NET 7项目集成Swashbuckle Swagger遇加载无限转圈问题求助

.NET 7集成Swashbuckle Swagger无限转圈问题

我在.NET 7项目里集成Swashbuckle Swagger时,加载Swagger UI一直无限转圈,程序疑似陷入无限循环——推测是生成swagger.json时出了问题,长时间运行会耗尽内存崩溃。查看swagger.json的请求状态,发现它始终处于pending状态。

我试过把SwaggerEndpoint的JSON路径改成swagger/v1/swagger.json、/v1/swagger.json、v1/swagger.json甚至../swagger/v1/swagger.json,问题依旧。

我的代码

Startup.cs中的Configure方法

app.UseSwagger();
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "RackEmApp API V1");
});

Startup.cs中的ConfigureServices方法

services.AddSwaggerGen(c =>
{
    var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));

    c.SwaggerDoc("v1", new OpenApiInfo
    {
        Version = "v1",
        Title = "RackEmApp API",
        Description = "供开发者与指定联盟/组织的RackEmApp数据集交互的Web API,目前处于开发阶段,支持有限。",
    });
});

解决思路

  1. 排查XML注释文件问题
    你配置了读取XML注释文件,若文件不存在、路径错误或格式损坏,会导致Swagger生成文档时卡住。先注释掉c.IncludeXmlComments(...)这一行,重启项目测试:

    • 如果Swagger能正常加载,就去检查项目属性是否勾选了“生成XML文档文件”,确保路径和代码一致;同时查看XML文件是否有未闭合的注释标签这类格式错误。
  2. 处理模型循环引用
    如果API返回的模型存在循环引用(比如A类包含B类属性,B类又包含A类属性),Swagger生成文档时会无限递归,导致卡死:

    • 可以给循环引用的属性加[JsonIgnore]标签,排除其在Swagger文档中的生成;
    • 若使用Newtonsoft.Json,可配置序列化忽略循环引用:
      services.AddControllers()
          .AddNewtonsoftJson(options =>
          {
              options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
          });
      
  3. 检查中间件顺序
    确保UseSwagger()和UseSwaggerUI()的位置正确,要放在UseRouting()和UseEndpoints()之间,示例顺序:

    app.UseRouting();
    app.UseAuthorization();
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "RackEmApp API V1");
    });
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
    
  4. 升级Swashbuckle包版本
    可能是版本兼容性问题,确保使用的Swashbuckle.AspNetCore包是支持.NET 7的最新稳定版(比如6.4.x及以上版本)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:15:08