Подтвердить что ты не робот

Swagger (Swashbuckle) скрыть заголовок

Я использую Swashbuckle для добавления документации Swagger к моему проекту API веб-интерфейса ASP.NET. Как скрыть заголовок по умолчанию (с логотипом swagger) на странице документации без ввода CSS?

4b9b3361

Ответ 1

К сожалению, я думаю, что вы можете сделать это olny javascript прямо сейчас.

В SwaggerConfig.cs вы можете вставить файл .js следующим образом:

.EnableSwaggerUi(c =>
{                        
    c.InjectJavaScript(thisAssembly, "yournamespace.yourscript.js");
});

Итак, в этом script вы можете делать все, что хотите, например, скрыть заголовок:

document.querySelector("#header").style.display = "none";

В этом сообщении показано, как настроить заголовок, на котором помещаются два текстовых поля.

Ответ 2

Когда я ввел JS, как было предложено выше, заголовок мигал при загрузке страницы. Это было показано на секунду, а затем было отключено на script. Есть подход, который работает лучше для меня. https://github.com/domaindrivendev/Swashbuckle/issues/476

Вы можете вводить CSS вместо JS:

#header {
display:none;
}

Ответ 3

Когда я впервые столкнулся с этим, я начал вводить css/js, но каждый раз это была борьба и вроде "хакерская", чтобы скрыть вещи с помощью css. Поэтому через некоторое время я просто заменил индексный файл модифицированной версией этого index.html Вы можете изменить его по своему усмотрению. Удаление div с заголовком id = приведет к удалению заголовка. Кроме того, это упрощает такие вещи, как замена логотипа и т.д. Для части логотипа вы можете установить логотип src для 64-битного кодирования, как показано здесь кодировать изображение. Также удаление связанного значка на вкладке так же просто, как удаление строки. Также добавление ссылок на другие страницы и т.д. Тривиально. Инъекция индекса в вас swaggerconfig как это

c.CustomAsset("index", thisAssembly, "Path.To.index.html");

Не забудьте указать свой индекс для встроенного ресурса.