swagger配置
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");
控制器中
结果
根据控制上分组标记 动态呈现方式 -----未完待续
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库