我使用 Swashbuckle 为我的 ASP.NET Web API 项目添加 Swagger 文档。如何在不注入 CSS 的情况下从文档页面隐藏默认标题(带有 Swagger 徽标)?
我使用 Swashbuckle 为我的 ASP.NET Web API 项目添加 Swagger 文档。如何在不注入 CSS 的情况下从文档页面隐藏默认标题(带有 Swagger 徽标)?
如上所建议,我注入JS时,页面加载时标题会闪烁。它会显示一秒钟,然后被脚本禁用。
对我而言,有一种更好的方法。可以注入CSS而不是JS:https://github.com/domaindrivendev/Swashbuckle/issues/476
#header {
display:none;
}
很不幸,我认为现在只能通过JavaScript来实现它。
在您的SwaggerConfig.cs中,您可以像这样注入一个.js文件:
.EnableSwaggerUi(c =>
{
c.InjectJavaScript(thisAssembly, "yournamespace.yourscript.js");
});
所以在这个脚本中,你可以随心所欲地做任何事情,比如隐藏标题:
document.querySelector("#header").style.display = "none";
这篇文章展示了如何自定义标题,在其中放置两个文本框。
@dimaKudr提出的方法更好。注入CSS样式就足以隐藏菜单(不需要使用JavaScript)。
.server {display: none;}
当我第一次遇到这个问题时,我开始注入CSS / JS,但每次都很困难并且使用注入的CSS来隐藏东西有点“笨拙”。所以过了一段时间后,我简单地用一个修改版的index.html替换了索引文件。你可以根据你的喜好进行修改。删除ID为header的div将删除头部。还有这让像替换logo等事情变得更加简单。对于logo部分,你可以将其src设置为en 64位编码,如此处所示encode image。删除标签中链接的favicon也很简单,只需删除该行即可。另外,添加到其他页面的链接等等都是微不足道的。将索引插入swaggerconfig中就像这样注入它。
c.CustomAsset("index", thisAssembly, "Path.To.index.html");
记得将您的索引设置为嵌入式资源。
.topbar {display: none;}
。 - Crazometer