盘点一下在swagger中一些有用且经常忽略的属性
震惊!,这些Swagger的属性你都了解吗?
盘点一下在swagger中一些有用且经常忽略的属性
启用永久授权EnablePersistAuthorization
app.UseSwaggerUI(c =>
{
//指定Swagger JSON文件的终结点,用于加载和显示API文档。
//需要提供JSON文件的URL和一个可识别的名称
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
//启用永久授权
c.EnablePersistAuthorization();
});
启用后,在登陆的小锁输入token之后,就可以 避免每次重新调试,再次输入token的问题,原理是swagger里面调用js代码来实现每次自动登录的

控制器XML注释
在实现xml注入的时候, options.IncludeXmlComments(xml,true); ,第二个属性控制是否为控控制器添加注释
public static class SwaggerSetup
{
public static IServiceCollection AddSwaggerSetup(this IServiceCollection services)
{
// 默认配置
Action<SwaggerGenOptions> defaultSetupAction = options =>
{
var basePath = AppContext.BaseDirectory;
options.SwaggerDoc("v1",
new OpenApiInfo
{
Title = "在线接口文档",
Version = "v1"
});
// 获取根目录下,所有 xml 完整路径(注:并不会获取二级目录下的文件)
var directoryInfo = new DirectoryInfo(basePath);
List<string> xmls = directoryInfo
.GetFiles()
.Where(f => f.Name.ToLower().EndsWith(".xml"))
.Select(f => f.FullName)
.ToList();
// 添加注释文档
foreach (var xml in xmls)
{
options.IncludeXmlComments(xml,true);
}
//tode 将默认扩展状态设置为 "none"
// 开启加权小锁
//options.OperationFilter<AuthenticationOperationFilter>();
// 开启加权小锁
//用于在 Swagger UI 的每个操作中添加 x-auth-token 响应头,以便在调用 API 后显示 token
//options.OperationFilter<AddResponseHeadersFilter>();
////用于将 "Authorize" 字符串添加到 Swagger UI 中每个操作的标题中,提醒用户该操作需要认证/授权才能访问
//options.OperationFilter<AppendAuthorizeToSummaryOperationFilter>();
//// 在 Swagger UI 的每个操作中添加一个 "Authorization" 按钮,并将认证令牌包含在请求头中
//options.OperationFilter<SecurityRequirementsOperationFilter>();
// 接入 Jwt 认证
//options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Scheme = "Bearer",
BearerFormat = "JWT",
Description = "在下面输入框输入Token",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.Http
});
};
// 注册 Swagger 并添加默认配置
services.AddSwaggerGen(defaultSetupAction);
// 如果有自定义配置
//if (setupAction != null) services.Configure(setupAction);
return services;
}
}

控制Try It Out请求的请求持续时间(以毫秒为单位)的显示
app.UseSwaggerUI(c =>
{
//指定Swagger JSON文件的终结点,用于加载和显示API文档。
//需要提供JSON文件的URL和一个可识别的名称
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
//控制Try It Out请求的请求持续时间(以毫秒为单位)的显示
c.DisplayRequestDuration();
});

swagger ui的路由
app.UseSwaggerUI(c =>
{
//指定Swagger JSON文件的终结点,用于加载和显示API文档。
//需要提供JSON文件的URL和一个可识别的名称
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
//指定swagger文档的启动目录 。默认为swagger
//可以通过设置为空字符串来让Swagger UI直接在根路径下进行访问
//c.RoutePrefix = string.Empty;
});
文档展开的方式
//设置默认的接口文档展开方式,可选值包括None、List和Full。
//默认值为None,表示不展开接口文档;
//List表示只展开接口列表;
//Full表示展开所有接口详情
c.DocExpansion(DocExpansion.None); // 设置为完整模式
c.DisplayRequestDuration();
c.EnablePersistAuthorization();
盘点一下在swagger中一些有用且经常忽略的属性的更多相关文章
- 分享20款移动开发中很有用的 jQuery 插件
今天,很显然每个网站都需要有一个移动优化的界面以提高移动用户的使用体验.在开发任何移动项目时,要尽可能保持每一种资源尺寸都尽可能的小,以给最终用户提供一个好的体验是非常重要的.在这篇文章中我们已经编制 ...
- 推荐25款php中非常有用的类库
推荐25款php中非常有用的类库 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2014-09-29 作为一个PHP开发者,现在是一个令人激动的时刻.每天有许许多多有用的库分发出 ...
- Katalon Studio之swagger中的API导入
约束条件: swagger中一定要在注解@ApiOperation中设置nickname的唯一值,例如: @ApiOperation(value="新增用户",notes=&quo ...
- Swagger中显示注释
Webapi中Swagger中不显示注解的解决方法 1.找见生成项目时候生成的xml文件.查看存放路劲方法: 右键项目-->点击属性-->在属性中选择“生成”就能看见xml文件存放路径: ...
- SQL Server中一些有用的日期sql语句
SQL Server中一些有用的日期sql语句 1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DA ...
- Swagger中添加Token验证
1.该连接链接到api中基本的swagge功能:http://www.cnblogs.com/hhhh2010/p/5234016.html 2.在swagger中使用验证(这里使用密码验证模式)ht ...
- iconv简介(1、字符串|文件字符转换:iconv用于将一种已知的字符集文件转换成另一种已知的字符集文件)(2、编程语言函数功能的相似性:iconv不仅再php中有用,而且c语言中也有用,还有linux等)
iconv简介(1.字符串|文件字符转换:iconv用于将一种已知的字符集文件转换成另一种已知的字符集文件)(2.编程语言函数功能的相似性:iconv不仅再php中有用,而且c语言中也有用,还有lin ...
- eclipse中最有用的10个快捷键
这里列出一些在使用eclipse的过程中最有用的10个快捷键,通过灵活使用这些快捷键可以提高开发效率和开发质量. 1. [ctrl+shift+r]打开资源 这可能是所有快捷键中最省时间的了.这个快捷 ...
- 深入探究MinimalApi是如何在Swagger中展示的
前言 之前看到技术群里有同学讨论说对于MinimalApi能接入到Swagger中感到很神奇,加上Swagger的数据本身是支持OpenApi2.0和OpenApi3.0使得swagger.json成 ...
- 盘点CSS中可以和不可以继承的属性
CSS中可以和不可以继承的属性 一.无继承性的属性 1.display:规定元素应该生成的框的类型 2.文本属性: vertical-align:垂直文本对齐 text-decoration:规定 ...
随机推荐
- ASP.NET Core Library – CsvHelper
前言 平常都是用 Excel 的多, 但这一次遇到 Google Ads. 谷歌嘛, 当然不喜欢微软的 Excel. 硬是要求 CSV. 没办法, 只能找 Library 搞一搞了. 参考 Docs ...
- Redis 入门 - 收官
<Redis 入门>系列文章总算完成了,希望这个系列文章可以想入门或刚入门的同学提供帮助,希望能让你形成学习Redis系统性概念. 当时为什么要写这个系列文章,是因为我自己就是迷迷糊糊一路 ...
- Spring —— 事务角色&&事务属性
事务角色 事务管理员:发起事务方,在Spring中通常指代业务层开启事务的方法 事务协调员:加入事务方,在Spring中通常指代数据层方法,也可以是业务层方法 事务属性: 事务传播行 ...
- Linux_动态库与静态库(其一)
1.动态库和静态库的定义 动态库(.so):动态库是编译后不嵌入目标文件中的共享库,在程序运行的时候才去链接动态库的代码,可以被多个程序共享使用,通常以 .so 结尾. 静态库(.a):静态库是将一组 ...
- 关于CycleGAN损失函数的可视化理解
看了<Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks>这篇论文,大致了解了C ...
- 本地图片上传服务器返回在线地址接口 - file - input -修改头像-带预览功能- 然后使用cropperjs 进行裁剪
说明:上传的图片是 file 类型 ,核心就是获取图片文件(file类型的) : 实现一:使用 vant2 的图片加载组件 ,选择文件后会触发afterRead方法 ,参数 file 就是文件列表fi ...
- spring boot 官网提供所有组件
所有资源来自于官网:https://start.spring.io/,在此整理只是为了方便查看 Developer Tools Spring Boot DevToolsProvides fast ap ...
- 线上debug&gateway自定义路由规则
如何进行线上debug. 如何在gateway自定义路由规则去进行请求分发,让请求打到集群模式下我们想要的节点. 1.配置remote debug 1.在启动参数配置参数: -Xdebug -Xrun ...
- AWS学习笔记-网络
[用语]网络组件解释:https://zhuanlan.zhihu.com/p/137963921 VPC之间建立连接. VPC对等连接(VPC Peering) 私有子网中的实例访问Internet ...
- AI五子棋_05 公钥加解密 10进制转256进制
AI 五子棋 第五步 恭喜你到达第五步! 我想你一定很艰难,前一步的问题需要大数运算,因为这个算法依赖于质因数分解的复杂度,只有数字相当大时才能保证这个算法难于破解. 这是服务器使用的公钥: 6553 ...