【问题标题】:Nuget package"Swagger-Net" swagger-ui default ui page Modification In Asp.net mvc5Nuget包“Swagger-Net”swagger-ui默认ui页面在Asp.net mvc5中修改
【发布时间】:2019-04-12 17:43:59
【问题描述】:
【问题讨论】:
标签:
asp.net
asp.net-mvc-5
asp.net-web-api2
swagger
swagger-ui
【解决方案1】:
您可以用自己的完全替换 index.html 或使用 CSS 来隐藏 div。
要替换 index.html,请执行以下操作。
httpConfiguration
.EnableSwagger(c => c.SingleApiVersion("v1", "A title for your API"))
.EnableSwaggerUi(c =>
{
c.CustomAsset("index", yourAssembly, "YourWebApiProject.SwaggerExtensions.index.html");
});
替换整个 index.html 文件可能有点矫枉过正,这意味着您需要在 Swagger 更新它时对其进行维护。所以,如果你只想隐藏块,你可以用 CSS 做到这一点。
像这样指定一个自定义样式表:
httpConfiguration
.EnableSwagger(c => c.SingleApiVersion("v1", "A title for your API"))
.EnableSwaggerUi(c =>
{
c.InjectStylesheet(containingAssembly, "Swagger-Net.Dummy.SwaggerExtensions.testStyles1.css");
});
然后在您的自定义样式表 (testStyles1.css) 中放入:
information-container {
display: none;
}
有关这两个选项的更多信息,请参阅here。
【讨论】:
-
感谢您的建议@Chris.ZA,我更喜欢在此处添加 CSS 技巧在我使用 Swashbuckle nuget 并遇到此问题之前,我在 asp.net 中有另一个关于 swagger 的线程(stackoverflow.com/q/53169601/7961948 ),这可能来自 JSON 字符串中有很多 API(可能是我在网上搜索的),如果您有时间可以检查一下 :-)!