Your API should have 2 ports binded and then Swagger will be displayed for both with no extra configuration...
Example using .NET Core:
launchSettings.json:
"applicationUrl": "https://localhost:5001;http://localhost:5000"
Program.cs:
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
and in Startup.cs
-ConfigureServices method:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "NameOfAPI", Version = "v1" });
});
-Configure method:
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "NameOfAPI");
c.RoutePrefix = string.Empty;
});
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…