/ / Jak zmienić bazowy URL Swaggera w rdzeniu ASP.NET - c #, asp.net, asp.net-core, swagger

Jak zmienić adres bazowy Swaggera w rdzeniu ASP.NET - c #, asp.net, asp.net-core, swagger

Domyślnie po włączeniu przekreślenia w projekcie ASP.NET Core jest on dostępny pod adresem url:

http://localhost:<random_port>/swagger/ui

Chciałbym użyć innego bazowego adresu URL zamiast /swagger/ui. Jak / gdzie mogę to skonfigurować?

Znalazłem, że dla starszych wersji możesz skonfigurować RootUrl ale nie ma podobnej metody w ASP.NET Core:

.EnableSwagger(c =>
{
c.RootUrl(req => myCustomBasePath);
});

Odpowiedzi:

14 dla odpowiedzi № 1

Nowa wersja programu swagger udostępnia właściwość o nazwie RoutePrefix.

   app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
c.RoutePrefix = "docs";
});

0 dla odpowiedzi nr 2

The UseSwaggerUi() metoda rozszerzenia, aby umożliwić oprogramowanie pośrednie w metodzie Configure klasy StartUp, bierze dwie zmienne. ZA baseRoute który jest włączony swagger/ui domyślnie i swaggerUrl który jest włączony swagger/v1/swagger.json domyślnie. Po prostu podaj inny baseRoute.

//Swagger will be available under "/api" url
app.UseSwaggerUi("api");

Jeśli ludzie chcieliby dowiedzieć się więcej o konfigurowaniu Swagger'a dla ASP.NET Core, napisałem na początek blog: https://dannyvanderkraan.wordpress.com/2016/09/09/asp-net-core-1-0-web-api-automatic-documentation-with-swagger-and-swashbuckle/


0 dla odpowiedzi № 3
  1. Otworzyć launchSettings.json plik.
  2. Pod "profile" węzeł w zależności od konfiguracji powinien mieć jeden lub więcej profili. W moim przypadku mogłem "IIS Express" i inny o nazwie z moją nazwą projektu (np. WebApplication1 ), teraz zmieniając launchUrl wejście do "launchUrl": "swagger" rozwiązał mój problem.
  3. Jeśli to nie działa, a masz inne profile, wykonaj to samo i sprawdź.