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

dotnet应用运行后Swagger UI endpoint view字符逐个换行如何修复

问题截图

Swagger UI Endpoint路径逐字符换行修复方案

问题根因

该问题由Swagger UI样式异常导致:负责展示请求路径的.opblock-summary-path类的word-break属性被错误设置为break-all,或是white-space属性被设为normal,强制文本逐字符换行,最终显示区域尺寸异常过大。

修复步骤

方案1:注入自定义CSS覆盖异常样式(适用于Swashbuckle.AspNetCore组件)

  • 在项目wwwroot目录下新建swagger文件夹,在文件夹内创建custom.css文件,写入以下样式规则:
/* 修复路径逐字符换行问题 */
.opblock-summary-path {
    white-space: nowrap !important;
    word-break: keep-all !important;
}
.opblock-summary-method {
    white-space: nowrap !important;
}
/* 可选配置:路径过长时自动显示省略号,避免撑宽页面 */
.opblock-summary-path-container {
    overflow: hidden;
    text-overflow: ellipsis;
}
  • 在项目启动配置中添加自定义样式注入逻辑:
    如果你使用.NET 6及以上版本,修改Program.cs中SwaggerUI的配置:
    app.UseSwaggerUI(c =>
    {
        // 保留你原有SwaggerUI的配置,新增下面一行
        c.InjectStylesheet("/swagger/custom.css");
    });
    
    如果你使用.NET 5及更早版本,修改Startup.cs的Configure方法中对应的SwaggerUI配置即可。
  • 确保项目已开启静态文件中间件,Program.cs或Startup.cs中存在app.UseStaticFiles();配置,且该配置顺序在UseSwaggerUI之前。

方案2:升级Swagger相关NuGet包

旧版本的Swashbuckle.AspNetCore存在已知的样式bug,直接升级对应包到最新稳定版即可自动修复:

  • 右键项目选择「管理NuGet程序包」
  • 找到Swashbuckle.AspNetCore、Swashbuckle.AspNetCore.SwaggerUI两个包,升级到最新稳定版后重新运行项目验证。

临时验证方法

如果需要先确认问题根源,可打开浏览器F12开发者工具,选中Endpoint路径的DOM元素,手动添加white-space: nowrap;word-break: keep-all;样式,若显示恢复正常,即可确认是样式问题,按上述两种方案处理即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:57:03