2015-07-26 10 views
14

Używam Swashbuckle do dodawania dokumentacji Swagger do mojego projektu ASP.NET Web API. Jak ukryć domyślny nagłówek (z logo swagger) na stronie z dokumentacją bez wstrzykiwania CSS?Swagger (Swashbuckle) hide header

Odpowiedz

7

Niestety, myślę, że możesz teraz zrobić to za pomocą javascript.

W swoim SwaggerConfig.cs można wstrzyknąć pliku js tak:

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

Więc w tym scenariuszu można robić, co chcesz, jak ukryć nagłówek:

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

Ten post pokazuje, jak dostosować nagłówek, umieszczając na nim dwa pola tekstowe.

10

Po wstrzyknięciu JS, jak zasugerowano powyżej, nagłówek migał podczas ładowania strony. Pokazano go na sekundę, a następnie został wyłączony przez skrypt. Jest podejście, które działa lepiej dla mnie. https://github.com/domaindrivendev/Swashbuckle/issues/476

można wstrzykiwać CSS zamiast JS:

#header { 
display:none; 
} 
+0

Twoje podejście jest lepsze, wystarczy ukryć menu :) – fabriciorissetto

1

Kiedy po raz pierwszy wpadł na ten zacząłem wstrzykiwanie css/js, ale za każdym razem była to walka i rodzaj „hackish”, aby ukryć rzeczy z wstrzykiwany css. Po chwili po prostu zmieniłem plik indeksu na zmodyfikowaną wersję tego index.html Możesz modyfikować, jak chcesz. Usunięcie elementu div za pomocą id = header spowoduje usunięcie nagłówka. Dzięki temu rzeczy takie jak zastąpienie logo itp. Są znacznie prostsze. W przypadku części z logo można ustawić logo src na kodowanie 64-bitowe, jak pokazano tutaj: encode image. Usunięcie połączonego favicon w zakładce jest równie proste jak usunięcie linii. Dodanie linków do innych stron itp. Jest banalne. Injecting the index in you swaggerconfig as Pamiętaj, aby ustawić indeks na zasób osadzony.

Powiązane problemy