1.引用swagger
Nuget包管理——Swashbukle.AspNetCore
2.添加swagger服务
在startup类的ConfigureServices方法中添加
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "API Demo", Version = "v1" });
});
3.添加swagger中间件
在startup类的Configure方法中添加,
注意:c.SwaggerEndpoint("/swagger/v1/swagger.json", "API Demo v1");中的路径“v1”即步骤2中的c.SwaggerDoc方法中的“v1”,二者须一致
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
// 添加Swagger有关中间件
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "API Demo v1");
});
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
// this.AutofacContainer = app.ApplicationServices.GetAutofacRoot();
}
此时,可运行程序,进入默认接口,更改网址xxx/Swagger/index.html,即可进入swagger接口列表
4 添加注释
此时的swagger页仅仅显示了接口,可以进行接口访问,但接口名称、参数等无注释。为其添加注释,需要做以下步骤
4.1 代码修改
startup类,ConfigureServices方法
public void ConfigureServices(IServiceCollection services)
{
//添加swagger
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "API Demo", Version = "v1" });
//获取xml文件名
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
//获取xml文件路径
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
//添加控制器层注释,true表示显示控制器注释
c.IncludeXmlComments(xmlPath, true);
});
services.AddControllers();
}
4.2 配置xml生成
右键项目——属性,弹出页选择生成,候选图示”XML文档生成“
此时再次运行查看swagger
大功告成!



