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

NestJS Swagger UI无法加载,浏览器报错求助

Swagger UI加载失败问题

浏览器报错导致Swagger UI无法加载(错误截图:Swagger加载错误)。

我的Swagger文档配置代码(main.ts)

const config = new DocumentBuilder()
  .setTitle('Truffles API')
  .setDescription('Truffles API description')
  .setVersion(DEFAULT_VERSION)
  .addTag('Truffles')
  .addBearerAuth()
  .build();

console.log(config);

const document = SwaggerModule.createDocument(app, config);

SwaggerModule.setup(`${basePath}/docs`, app, document, {
  swaggerUrl: `${basePath}/docs-json`,
});

排查与解决建议

  • 验证basePath路径拼接:直接在浏览器访问${basePath}/docs-json对应的实际地址,看是否能正常返回Swagger JSON文档。如果路径拼接错误(比如多斜杠、路径不存在),会导致UI加载失败。可以手动打印${basePath}/docs-json的值确认路径合法性。
  • 完善Bearer认证配置:默认的addBearerAuth()可能缺少必要参数,导致Swagger UI解析认证规则出错。可以修改为:
    .addBearerAuth(
      { type: 'http', scheme: 'bearer', bearerFormat: 'JWT' },
      'access-token' // 认证标识,可选
    )
    
  • 检查DEFAULT_VERSION有效性:确保DEFAULT_VERSION是合法的字符串(比如'1.0'),如果是undefined或非字符串类型,会导致Swagger文档生成异常。
  • 确认版本兼容性:检查@nestjs/core和@nestjs/swagger的版本是否匹配,版本不兼容可能引发这类加载问题,可参考NestJS官方文档调整版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 21:05:02