如何在ASP.NET Core项目中配置Swagger?已安装Swashbuckle包
Swagger配置位置说明
根据你使用的.NET版本,配置位置略有不同:
.NET 6+(顶级语句模式)
直接在Program.cs文件中完成两项核心配置:
- 注册Swagger服务:在
builder.Services集合中添加Swashbuckle服务,示例代码:builder.Services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "你的API名称", Version = "v1" }); }); - 启用Swagger中间件:在构建
app对象后,添加Swagger和Swagger UI的中间件(通常放在开发环境判断内):if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "你的API名称 v1"); }); }
.NET 5及更早版本
需要修改Startup.cs文件的两个方法:
- ConfigureServices方法:注册Swagger服务
public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "你的API名称", Version = "v1" }); }); } - Configure方法:启用Swagger中间件
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "你的API名称 v1"); }); } app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
如果需要自定义Swagger文档(比如添加接口注释、配置JWT授权等),所有扩展配置都在AddSwaggerGen的委托中完成。
内容的提问来源于stack exchange,提问作者あきら アキラ
相关产品推荐
相关产品推荐

