SwaggerUI为前端开发人员提供了可视化的接口文档,省去了开发人员写接口文档的痛苦,也避免了文档更新不及时造成的开发问题,在前后端分离势在必行的年代,SwaggerUI几乎成为了开发人员必备的工具。
官方网址:https://swagger.io/
创建一个Asp.NetCoreWebApi项目并配置Swagger
1.创建一个Asp.NetCoreWebApi项目;
2.使用Nuget安装Swagger:
项目右键--》管理nuget程序包;
搜索Swashbuckle.AspNetCore并安装。
3.在startup.cs中注册swagger服务,并配置xml文件:
public void ConfigureServices(IServiceCollection services)
{
// 注册Swagger服务
services.AddSwaggerGen(c =>
{
// 添加文档信息
c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "Mallsys.AppletApi.Core", Version = "v1" });
});
services.AddControllers();
}
4.在startup.cs中配置swagger及swaggerui中间件
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
// 启用Swagger中间件
app.UseSwagger();
// 配置SwaggerUI
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Mallsys.AppletApi.Core");
c.RoutePrefix = string.Empty;
});
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
5.配置一下启动浏览器
运行项目,我们可以看见swaggerui已经生效了
6.配置注释信息:
为了方便前端人员使用,需要将代码的注释显示出来,首先需要修改项目文件:
右键项目---》编辑项目文件,在PropertyGroup节点下新增配置节点:
在startup--》ConfigureServices之前注册服务的方法中加入xml配置
public void ConfigureServices(IServiceCollection services)
{
// 注册Swagger服务
services.AddSwaggerGen(c =>
{
// 添加文档信息
c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "Mallsys.AppletApi.Core", Version = "v1" });
// 使用反射获取xml文件。并构造出文件的路径
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
// 启用xml注释. 该方法第二个参数启用控制器的注释,默认为false.
c.IncludeXmlComments(xmlPath, true);
});
services.AddControllers();
}
加好之后再次运行项目:
我们看到注释已经显示出来了。