.net6框架下使用swagger3,修改根目录
时间: 2023-03-04 08:13:01 浏览: 137
在使用.NET 6框架下使用Swagger 3时,要修改Swagger UI的根目录,需要在启用Swagger的代码中进行配置。
在ConfigureServices方法中,添加以下代码来指定Swagger的文档和UI的URL路径:
```
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
});
services.AddSwaggerGenNewtonsoftSupport(); // explicit opt-in - needs to be placed after AddSwaggerGen()
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.RoutePrefix = string.Empty;
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
```
上面代码中,`c.RoutePrefix = string.Empty`指定Swagger UI的根目录为网站的根目录,这样就可以将Swagger UI的路径设置为`http://localhost:5000/swagger`。
另外,需要注意的是,如果使用了ASP.NET Core 6的终止点路由特性(Endpoint Routing),则需要在启用Swagger之前禁用终止点路由:
```
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.RoutePrefix = string.Empty;
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
```