asp.net core webapi 如何使用swagger,下面直入主题给出干货。
1、NuGet 安装Swashbuckle.AspNetCore
2、Startup文件的ConfigureServices注册swagger服务,重点是如何在头部添加Bearer Token。
//注册Swagger
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo() { Title = "Demo WebAPI", Version = "v1.0.0.1" });
//添加 Bearer Token 认证
c.AddSecurityDefinition("Bearer", new Microsoft.OpenApi.Models.OpenApiSecurityScheme
{
Description = "请输入带有Bearer的Token",
Name = "Authorization",
In = Microsoft.OpenApi.Models.ParameterLocation.Header,
Type = Microsoft.OpenApi.Models.SecuritySchemeType.ApiKey
});
c.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference() { Id = "Bearer", Type = ReferenceType.SecurityScheme } }, Array.Empty<string>() } });/<string>
//显示注释
var xmlDocPath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "Demo.WebAPI.xml");
if (System.IO.File.Exists(xmlDocPath))
{
c.IncludeXmlComments(xmlDocPath);
}
});
3、Startup文件Configure配置swagger
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Demo API V1");
});
4、添加一个UserController测试效果
/// <summary>
/// 测试
///
/// <returns>
[HttpGet]
[Route("Test")]
public string Test()
{
return Guid.NewGuid().ToString();
}
5、看看效果图,你学会了吗
asp.net core webapi swagger效果图