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