本项目使用的一些框架如下:
Swagger,Serilog,Sqlugar,CSRedis,Autofac
具体配置将会在后续逐一介绍
1、首先我们对项目进行引用,右键.NET6.Api项目依赖项,选择添加项目引用,勾选NET6.Domain和NET6.Infrastructure,使用相同的方法为NET6.Infrastructure添加NET6.Domain引用。
var basePath = AppContext.BaseDirectory;
#region 添加swagger注释
builder.Services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Version = "v1",
Title = "Api"
});
var xmlPath = Path.Combine(basePath, "NET6.Api.xml");
c.IncludeXmlComments(xmlPath, true);
var xmlDomainPath = Path.Combine(basePath, "NET6.Domain.xml");
c.IncludeXmlComments(xmlDomainPath, true);
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "Value: Bearer {token}",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.ApiKey,
Scheme = "Bearer"
});
c.AddSecurityRequirement(new OpenApiSecurityRequirement()
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
},Scheme = "oauth2",Name = "Bearer",In = ParameterLocation.Header,
},new List<string>()
}
});
});
#endregion
#region 启用swaggerUI
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1 Docs");
c.RoutePrefix = string.Empty;
c.DocExpansion(Swashbuckle.AspNetCore.SwaggerUI.DocExpansion.None);
c.DefaultModelsExpandDepth(-1);
});
#endregion
5、编译运行,swagger便出现在我们眼前。