如何将Swagger配置成?

摘要:1.引入Swagger包。 nuget引入Swashbuckle.AspNetCore 2、配置Swagger中间件 在Startup类ConfigureServices方法中添加Swagger服务并配置文档信息 services.AddS
1.引入Swagger包。 nuget引入Swashbuckle.AspNetCore 2、配置Swagger中间件 在Startup类ConfigureServices方法中添加Swagger服务并配置文档信息 services.AddSwaggerGen(c => { // 使用反射获取xml文件。并构造出文件的路径 //需要在项目-属性-生成里面勾上XML文档文件 var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); // 启用xml注释. 该方法第二个参数启用控制器的注释,默认为false. c.IncludeXmlComments(xmlPath, true); //Bearer 的scheme定义 var securityScheme = new OpenApiSecurityScheme() { Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"", Name = "Authorization", //参数添加在头部 In = ParameterLocation.Header, //使用Authorize头部 Type = SecuritySchemeType.Http, //内容为以 bearer开头 Scheme = "bearer", BearerFormat = "JWT" }; //把所有方法配置为增加bearer头部信息 var securityRequirement = new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }, new string[] { } } }; //注册到swagger中 c.AddSecurityDefinition("Bearer", securityScheme); c.AddSecurityRequirement(securityRequirement); }); 接口信息标记 展示效果 最后Configure中增加 app.UseSwagger(); // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), // specifying the Swagger JSON endpoint. app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); }); 扩展:分组呈现 configureServices中 c.SwaggerDoc("V1", new OpenApiInfo { Title = "计划任务", Version = "V1" }); c.SwaggerDoc("V2", new OpenApiInfo { Title = "My API2", Version = "V2" }); Configure中 options.SwaggerEndpoint($"/swagger/V1/swagger.json", "V1"); options.SwaggerEndpoint($"/swagger/V2/swagger.json", "V2"); 控制器中 结果 根据控制上分组标记 动态呈现方式 -----未完待续