三分钟学会 ASP.NET Core WebApi使用Swagger生成api说明文档

时间:2023-03-10 03:23:07
三分钟学会 ASP.NET Core WebApi使用Swagger生成api说明文档

什么是Swagger?为啥要用Swagger?

Swagger可以从不同的代码中,根据注释生成API信息,Swagger拥有强大的社区,并且对于各种语言都支持良好,有很多的工具可以通过swagger生成的文件生成API文档

简单易懂、方便快捷。

书写api说明文档对于程序员来说是件痛苦的事所以能偷懒为啥不偷。

直接上流程吧

1、NuGet先下载这两个包

三分钟学会 ASP.NET Core WebApi使用Swagger生成api说明文档

2.Startup.cs直接上代码

private readonly string versionApiName = "V1";

` services.AddSwaggerGen(options =>

{

options.SwaggerDoc(versionApiName, new OpenApiInfo

{

Version = versionApiName,

Title = "客户信息后端API"

});

//options.EnableAnnotations();

// 开启加权小锁

options.OperationFilter();

options.OperationFilter();

            // 在header中添加token,传递到后台
options.OperationFilter<SecurityRequirementsOperationFilter>(); // 必须是 oauth2
options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
{
Description = "JWT授权(数据将在请求头中进行传输) 直接在下框中输入Bearer {token}(注意两者之间是一个空格)",
Name = "Authorization", // jwt默认的参数名称
In = ParameterLocation.Header, // jwt默认存放Authorization信息的位置(请求头中)
Type = SecuritySchemeType.ApiKey
}); var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
options.IncludeXmlComments(xmlPath, true);
});`

三分钟学会 ASP.NET Core WebApi使用Swagger生成api说明文档

app.UseSwagger(); app.UseSwaggerUI(v => { v.SwaggerEndpoint($"/swagger/{versionApiName}/swagger.json", $"{versionApiName}"); v.DocExpansion(DocExpansion.None); });

三分钟学会 ASP.NET Core WebApi使用Swagger生成api说明文档

哪里报红哪里引用就可以了

3.把生成XML文档勾上

三分钟学会 ASP.NET Core WebApi使用Swagger生成api说明文档

4.修改一下启动方式

三分钟学会 ASP.NET Core WebApi使用Swagger生成api说明文档

5.F5运行 Swagger就布置好了 告别该死的文档

三分钟学会 ASP.NET Core WebApi使用Swagger生成api说明文档