/ / Как да промените основния URL адрес на Swagger в сървъра ASP.NET - c #, asp.net, asp.net-core, swagger

Как да промените основния URL адрес на Swagger в сървъра ASP.NET - c #, asp.net, asp.net-core, swagger

По подразбиране, когато активирате swagger в проекта ASP.NET Core, той е достъпен на url:

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

Бих искал да използвам различен основен URL адрес вместо /swagger/ui, Как / къде мога да конфигурирам това?

Намерих, че за по-старите версии можете да конфигурирате RootUrl но няма подобен метод в ASP.NET Core:

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

Отговори:

14 за отговор № 1

Новата версия на swagger ви осигурява собственост, наречена RoutePrefix.

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

0 за отговор № 2

Най- UseSwaggerUi() методът за разширение, който позволява на мидълуер в метода "Конфигуриране" на класа "Старт", взема две променливи. А baseRoute който е включен swagger/ui по подразбиране и swaggerUrl който е включен swagger/v1/swagger.json по подразбиране. Просто осигурете различна база.

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

Ако хората биха искали да научат повече за конфигурирането на Swagger за ASP.NET Core, аз съм написал blogpost, за да започнете: https://dannyvanderkraan.wordpress.com/2016/09/09/asp-net-core-1-0-web-api-automatic-documentation-with-swagger-and-swashbuckle/


0 за отговор № 3
  1. Отвори launchSettings.json файл.
  2. Под "профили" в зависимост от настройката, трябва да имате един или повече профили. В малък случай имах "IIS Express" и друг с име на моя проект (напр. WebApplication1 ), сега промяна на launchUrl влизане в "launchUrl": "swagger" реши проблема ми.
  3. Ако това не работи и имате други профили, направете същото и тествайте.