Abp框架使用Swgger注释加分组
2024-10-21 12:50:06
1.在ConfigureSwaggerServices中配置SwaggerDoc,并options.DocInclusionPredicate((doc, desc) => { return doc == desc.GroupName; });这句话可以删除也可以改成这样去写
private static void ConfigureSwaggerServices(ServiceConfigurationContext context, IConfiguration configuration)
{
context.Services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new OpenApiInfo { Title = "MH业务.WebApi", Version = "v1" });
options.SwaggerDoc("v2", new OpenApiInfo { Title = "WGG业务.WebApi", Version = "v2" });
options.SwaggerDoc("v3", new OpenApiInfo { Title = "WJB业务.WebApi", Version = "v3" });
options.SwaggerDoc("v4", new OpenApiInfo { Title = "ZRN业务.WebApi", Version = "v4" });
options.SwaggerDoc("v5", new OpenApiInfo { Title = "LHY业务.WebApi", Version = "v5" });
options.SwaggerDoc("v6", new OpenApiInfo { Title = "公共业务.WebApi", Version = "v6" }); options.DocInclusionPredicate((doc, desc) => { return doc == desc.GroupName; });
//开启权限小锁
options.OperationFilter<AddResponseHeadersFilter>();
options.OperationFilter<AppendAuthorizeToSummaryOperationFilter>();
options.OperationFilter<SecurityRequirementsOperationFilter>(); //在header中添加token,传递到后台
options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
{
Description = "JWT授权(数据将在请求头中进行传递)直接在下面框中输入Bearer {token}(注意两者之间是一个空格) \"",
Name = "Authorization",//jwt默认的参数名称
In = ParameterLocation.Header,//jwt默认存放Authorization信息的位置(请求头中)
Type = SecuritySchemeType.ApiKey
});
//注意 Abp要在Application的属性中开启XML文件
var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);//获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径)
var xmlPath = Path.Combine(basePath, "TMSLogistics.Application.xml"); // 添加 swagger xml 注释 这个xml文件开始是不存在的写上项目名.xml即可
options.IncludeXmlComments(xmlPath, true); }); }
2.在管道中添加 SwaggerEndpoint
app.UseSwagger();
app.UseAbpSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "MH业务.WebApi");
c.SwaggerEndpoint("/swagger/v2/swagger.json", "WGG业务.WebApi API");
c.SwaggerEndpoint("/swagger/v3/swagger.json", "WJB业务.WebApi API");
c.SwaggerEndpoint("/swagger/v4/swagger.json", "ZRN业务.WebApi API");
c.SwaggerEndpoint("/swagger/v5/swagger.json", "LHY业务.WebApi API");
c.SwaggerEndpoint("/swagger/v6/swagger.json", " 公共业务.WebApi"); });
3.引入using Microsoft.AspNetCore.Mvc;命名空间,在服务层添加 [ApiExplorerSettings(GroupName = "v1")]
4.服务层打开XML注释
最新文章
- Ionic设置ion-slide-box不启用(不通过$ionicSlideBoxDelegate)
- (转帖)开源容器集群管理系统Kubernetes架构及组件介绍
- 三言两语之js事件、事件流以及target、currentTarget、this那些事
- 探索javascript----this的指向问题
- Twitter数据抓取
- 搭建Mono for Android开发环境(用离线版)
- 图解I/O的五种模型
- Android 如何把一个 RelativeLayout或ImageView背景设为透明
- Python正则表达式+自创口诀
- Cacti添加Advance Ping监控模板
- 【贪心】【POJ3154】墓地雕塑(Graveyard, NEERC 2006, LA 3708)需要稍稍加工的(先贪心,再确保能这样贪(可行性&;&;如果可行必定最优&;&;非证明最优性)的题)(K)
- java通过JNI接口调用C语言-初级
- Codeforces Round #277.5 (Div. 2)---B. BerSU Ball (贪心)
- pb_ds(平板电视)整理
- HDU 5033 Building(单调栈)
- Spring学习---JPA配置和使用
- [2013-07-22]varnish-cache 安装配置及体验笔记
- 一个使用物理引擎的WebGL3D场景
- 通过css3实现的动画导航菜单代码
- a,b为2个整型变量,在不引入第三个变量的前提下写一个算法实现 a与b的值互换