NET 中使用swagger
打开Nuget包安装swagger需要dll
- 打开Nuget,搜索安装Swashbuckle.AspNetCore
- Install-Package Swashbuckle.AspNetCore
Startup.cs中加入swagger
public void ConfigureServices(IServiceCollection services)
{
//注册 swagger
services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new OpenApiInfo
{
Version = "v1",
Title = "我的API-列表",
Description = "API描述"
});
//必须生成xml文件,才能使用
// var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
// options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
#region 启用swaggerUI
{
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "我的 API V1");
});
}
#endregion
}
生成xml文件,接口文档生成注释需要程序集的xml文件
- 打开项目的.csproj文件加上标识让程序生成这个程序集的文档
<GenerateDocumentationFile>true</GenerateDocumentationFile>
新增一个简单的API
/// <summary>
/// demo API
/// </summary>
[ApiController]
[Route("api/[controller]/[action]")]
public class DemoController : Controller
{
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpGet]
public IActionResult GetList()
{
return Json(new { Code = 200, Msg = "获取一个列表" });
}
/// <summary>
/// 获取一个指导扶持
/// </summary>
/// <returns></returns>
[HttpGet]
public IActionResult GetStr()
{
return Content("获取一个列表");
}
/// <summary>
/// 保存一个结果
/// </summary>
/// <param name="content">提交的内容</param>
/// <returns></returns>
[HttpPost]
public IActionResult SaveDemo([FromForm] string content)
{
return Json(new { Code = 200, Msg = "保存一个内容" });
}
}
访问 http://localhost:xxx/swagger/index.html