前言
目前的项目基本都是前后端分离,API 功能的演变是不可避免的,但维护 API 文档的头痛不是必须的。Swagger 工具将繁重的工作从生成和维护您的 API 文档中解脱出来,确保您的文档随着 API 的发展而保持最新。
一、Swagger是什么?
Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。
swagger官网:https://swagger.io
二、使用步骤
本次演示源码上传至gitee
地址:https://gitee.com/huang945617/netcore3—using-swagger
1.引入库
通过“管理NuGet程序包”下载 Swashbuckle.AspNetCore包:
2.代码
编辑 Startup.cs:
1.将swagger生成器添加到ConfigureServices方法中:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
#region Swagger服务
services.AddSwaggerGen(o =>
{
o.SwaggerDoc("v1", new OpenApiInfo
{
Title = "WebApi",
Version = "v1",
Contact = new OpenApiContact
{
Name = "对待丶",
Email = string.Empty,
Url = new Uri("http://127.0.0.1:5000/swagger/index.html")
},
Description = "API描述",
License = new OpenApiLicense
{
Name = "对待丶",
Url = new Uri("http://127.0.0.1:5000/swagger/index.html")
}
});
});
#endregion
}
2.将swagger中间件添加到Configure方法中:
#region Swagger 中间件
app.UseSwagger();
app.UseSwaggerUI(o =>
{
o.SwaggerEndpoint("/swagger/v1/swagger.json", "WebApi");