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

如何在.NET 8的ASP.NET Core Swagger UI响应区隐藏Links列

在ASP.NET Core .NET 8中隐藏Swagger响应区域的Links列

有两种可行的方法可以移除Swagger响应区域的Links列,具体如下:

方法一:注入自定义CSS隐藏列

  1. 在项目的wwwroot目录下创建swagger-custom.css文件,写入以下样式:
/* 隐藏Swagger响应表格的Links列 */
.swagger-ui .responses-table .response-links {
    display: none !important;
}
  1. 在Program.cs中配置Swagger UI,注入这个自定义样式文件:
// 确保UseStaticFiles在UseSwaggerUI之前调用,否则无法加载静态CSS文件
app.UseStaticFiles();

app.UseSwagger();
app.UseSwaggerUI(options =>
{
    // 注入自定义样式
    options.InjectStylesheet("/swagger-custom.css");
});

方法二:使用自定义Swagger UI索引页

如果需要更彻底的控制,可以自定义Swagger UI的index.html文件:

  1. 生成默认的Swagger UI索引页,执行以下命令(替换为你的程序集名称):
dotnet swagger tofile --output swagger/index.html --openapi YourProjectAssembly.dll v1
  1. 打开生成的swagger/index.html,在<head>标签内添加隐藏Links列的样式:
<style>
.swagger-ui .responses-table .response-links {
    display: none !important;
}
</style>
  1. 将这个index.html设置为嵌入资源,在项目的.csproj文件中添加:
<ItemGroup>
    <EmbeddedResource Include="swagger/index.html" />
</ItemGroup>
  1. 在Program.cs中配置Swagger UI使用自定义索引页:
app.UseSwaggerUI(options =>
{
    // 替换为你的命名空间和资源路径
    options.IndexStream = () => typeof(Program).Assembly.GetManifestResourceStream("YourProjectNamespace.swagger.index.html");
});

两种方法都能实现隐藏Links列的效果,方法一操作更简单,适合快速实现;方法二更灵活,方便后续对Swagger UI做更多自定义调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 14:55:05