Swagger 是一个项目api文档框架,能提供更友好的api文档界面
1.创建Asp.Net Core Web Api项目
2. 引入NuGet包
Swashbuckle.AspNetCore
3.修改Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Version = "V1.0.0", //提供服务的api版本
Title = "学籍档案服务", //服务名称
Description = "本服务提供学籍档案操作(CRUD)" //服务介绍
});
//这段代码获取项目根路径下生成的项目描述xml文件,根据这个文件来生成api文档
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, "api_1.xml");
Console.WriteLine(xmlPath);
c.IncludeXmlComments(xmlPath); //这里路径一定不要弄错了。
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
app.UseSwagger(); //启动Swagger
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "学籍档案服务API文档"); //Swagger生成的描述文件路径
});
}
4.新建一个Controller,添加注释
/// <summary>
/// 公共API服务
/// </summary>
[Route("api/[controller]")]
public class CommonApi : Controller
{
/// <summary>
/// 返回所有学生信息
/// </summary>
/// <returns>学生信息</returns>
[HttpGet]
public List<Person> GetAllPerson()
{
List<Person> list = new List<Person>();
for (int i = 0; i < 10; i++)
{
list.Add(new Person() {
Name="张三_"+i.ToString(),
Age=i,
ClassRoom="三年级"+i.ToString()+"班"
});
}
return list;
}
}
5.修改 项目Build属性
到这里配置就完成了,启动一个控制台 cd /d 项目Debug目录下
运行 dotnet 项目.dll
打开浏览器 输入 http://localhost:5000/swagger