【问题标题】: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 mvc5 中有一个项目,并添加了 Swagger 哪个 Swagger-Net NuGet 包 (https://github.com/heldersepu/Swagger-Net)

在这里我需要删除红色矩形内的 HTML 部分 这是 Swagger-Net 提供的默认 UI

【问题讨论】:

    标签: 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(可能是我在网上搜索的),如果您有时间可以检查一下 :-)!
    猜你喜欢
    • 2017-12-11
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多