ASP.NET Core中Swagger/index.html显示空白页问题求助
问题分析与解决方法
核心原因
你配置的Swagger端点路径/swagger/Package/swagger.json不存在——默认情况下Swagger生成的文档名称是v1而非Package,导致Swagger UI加载不到API文档,最终页面显示空白。
具体解决步骤
1. 快速修正:使用默认文档路径
直接把SwaggerUI配置里的端点路径改成默认的/swagger/v1/swagger.json即可:
app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Package v1"); });
2. (可选)自定义文档名称
如果确实需要用Package作为文档标识,要在注册Swagger服务时显式配置文档信息:
builder.Services.AddSwaggerGen(c => { c.SwaggerDoc("Package", new OpenApiInfo { Title = "Package API", Version = "v1" }); });
配置完成后,你原来写的/swagger/Package/swagger.json路径就能正常生效了。
3. 额外检查项
- 确认控制器类上标注了
[ApiController]和路由属性(比如[Route("api/[controller]")]),保证控制器能被Swagger扫描到。 - 启动项目后直接访问
/swagger/v1/swagger.json(或自定义的路径),如果能返回JSON格式的API文档,说明Swagger生成正常,此时刷新Swagger UI页面就能正常显示内容。
内容的提问来源于stack exchange,提问作者smbbb
相关产品推荐
相关产品推荐

