Search code examples
c#asp.netasp.net-coreswagger

How to change base url of Swagger in ASP.NET core


By default, when you enable swagger in ASP.NET Core project it's available on url:

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

I would like to use a different base url instead of /swagger/ui. How/where can I configure that?

I found that for older versions you can configure the RootUrl but there is no similar method in ASP.NET Core:

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

Solution

  • The new swagger version provides you with a property called RoutePrefix.

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

    Should work for .net core