当前位置: 首页 > news >正文

Swagger配置且添加小锁(asp.net)(笔记)

此博客是基于 asp.net core web api(.net core3.1)框架进行操作的。

一、安装Swagger包

在 NuGet程序包管理中安装下面的两个包:

swagger包:Swashbuckle.AspNetCore

swagger包过滤器:Swashbuckle.AspNetCore.Filters

二、swagger注册

在 Startup.cs文件的 ConfigureServices方法中进行 swagger注册。

#region swagger注入
services.AddSwaggerGen(c =>
{#region 添加文档信息   c.SwaggerDoc("v1", new OpenApiInfo{Title = "aspNetCURD",Version = "v1",Description = "RESTful API"});#endregion#region 添加 Controller注释var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";  // 获取 项目名 + .xml 的文件var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); // 文件 pathc.IncludeXmlComments(xmlPath); // 添加 Controller注释#endregion#region 添加 swagger小锁  不需要授权的可以不要小锁var openApiSecurity = new OpenApiSecurityScheme{Description = "JWT认证授权,使用直接在下框中输入Bearer {token}(注意两者之间是一个空格)\"",Name = "Authorization",  //jwt 默认参数名称In = ParameterLocation.Header,  //jwt默认存放Authorization信息的位置(请求头)Type = SecuritySchemeType.ApiKey};c.AddSecurityDefinition("oauth2", openApiSecurity);c.OperationFilter<AddResponseHeadersFilter>();c.OperationFilter<AppendAuthorizeToSummaryOperationFilter>();c.OperationFilter<SecurityRequirementsOperationFilter>();#endregion});
#endregion

三、swagger 注入管道

在 app.UseRouting() 之后,app.UseEndpoints() 之前,将swagger注入管道。

app.UseRouting();#region swagger管道注入
// 启用Swagger中间件
app.UseSwagger();// 配置SwaggerUI
app.UseSwaggerUI(c =>
{c.SwaggerEndpoint("/swagger/v1/swagger.json", "aspNetCURD");c.RoutePrefix = string.Empty; //路由前缀设置为空
});
#endregion

四、在项目的属性中添加 .xml路径

打开项目的属性,找到 生成/输出,在 "XML文档文件路径" 处配置上 xml路径。

XML文档文件路径为:项目名称 + .xml

五、最后效果

(1)没有使用授权小锁时

(2)使用了授权小锁后

#若有错误或不足,欢迎大佬斧正。


http://www.mrgr.cn/news/37178.html

相关文章:

  • 在 Java 中提供接口方法而不是实现接口
  • 代码随想录算法训练营|226.翻转二叉树 、 101. 对称二叉树、 104.二叉树的最大深度、 111.二叉树的最小深度
  • @interface注解详解
  • 基于densenet模型在RML201610a数据集上的调制识别【代码+数据集+python环境+GUI系统】
  • kafka分区和副本的关系?
  • en造数据结构与算法C# 二叉排序树 泛型类的基本构成
  • Hadoop FileSystem Shell 常用操作命令
  • 华为OD机试真题------猜数字
  • 线性判别分析 (LDA)中目标函数变换中”令$S_b w = \lambda(\mu_0 - \mu_1)$“,为什么可以这么写
  • WPF入门教学二十 3D图形与视觉效果
  • 【C语言】函数
  • 通信工程学习:什么是TDD时分双工
  • UE5: Content browser工具编写
  • Superset二次开发之Git篇git fetch 异常信息汇总
  • 【C语言】手把手带你拿捏指针(完)(指针笔试、面试题解析)
  • 【AndroidStudio】关于AndroidStudio的常见控件TextView和Button
  • L5打卡学习笔记
  • Oracle RMAN 无敌备份脚本
  • 【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
  • Teams集成-会议侧边栏应用开发-会议转写