ASP.NET Core 3.1使用Swagger
1、添加Swagger
直接在NuGet里面搜索Swashbuckle.AspNetCore包进行安装:
2、添加服务
在Startup类的ConfigureServices方法里面注入服务: 验证授权和 注释信息
public void ConfigureServices(IServiceCollection services) { services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "sukcore后台Api", Version = "v1" }); var security = new Dictionary<string, IEnumerable<string>> { { "sukcore", new string[] { } }}; c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme() { Description = "JWT授权token前面需要加上字段Bearer与一个空格,如Bearer token", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey, BearerFormat = "JWT", Scheme = "Bearer" }); c.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }, new string[] { } } }); // 获取xml文件名 var xmlFile = $"{System.Reflection.Assembly.GetExecutingAssembly().GetName().Name}.xml"; // 获取xml文件路径 var xmlPath = System.IO.Path.Combine(AppContext.BaseDirectory, xmlFile); // 添加控制器层注释,true表示显示控制器注释 c.IncludeXmlComments(xmlPath, true); }); }
3、添加中间件
在Startup类的Configure方法里面添加Swagger有关的中间件:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { // 添加Swagger有关中间件 app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "API Demo v1"); }); }
4、让Swagger能够显示实体模型的注释
如果你的实体不在asp.net core项目内需要把所使用实体的项目也设置xml文档生成,并在swagger中设置,xml文档为多个;
详细参考
https://www.cnblogs.com/dotnet261010/p/12425572.html