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注释

Abp框架使用Swgger注释加分组的更多相关文章

  1. 如何用ABP框架快速完成项目(11) - ABP只要加人即可马上加快项目进展- 全栈篇(2) - 不推荐模块组件化, 推荐微服务

    一个人写代码不需要担心会和别人的代码冲突, 不需要做代码合并, 不需要担心自己的代码被覆盖. 但是多个人一起写代码就需要担心这些问题.   解决这些问题的方法很多, 比如用AzureDevOps(TF ...

  2. 如何用ABP框架快速完成项目 - 自动化测试 - 前端angular e2e protractor

    要想快速完成一个项目, 自动化是很关键很有用的一块. 自动化测试比人工测试快很多. 特别是在回归测试中. 实践证明, 虽然投入了时间在写自动化测试代码上, 但是在回归测试中节省了大量的时间,同时及时发 ...

  3. ABP 框架代码批量生成器

    需要最新源码,或技术提问,请加QQ群:538327407 我的各种github 开源项目和代码:https://github.com/linbin524 简介 用abp 框架快两年了,用它完成了多个项 ...

  4. 使用代码生成工具快速开发ABP框架项目

    在一般系统开发中,我们一般要借助于高度定制化的代码生成工具,用于统一代码风,节省开发时间,提高开发效率.不同的项目,它的项目不同分层的基类定义不同,我们需要在框架基类的基础上扩展我们的业务类代码,尽量 ...

  5. ABP框架之——数据访问基础架构(下)

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的一块垫脚石,我们一起精进. EF Core集成 EF Core是微软的ORM,可以使用它与主流的数据库提供商 ...

  6. ABP框架搭建项目系列教程基础版完结篇

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...

  7. AutoMapper在ABP框架中的使用说明

    为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里.既然系统地学习了AutoMapper,那么接下来就是该用它实战的时候了.今天,我们就来揭开AutoM ...

  8. 老周的ABP框架系列教程 -》 一、框架理论初步学习

    老周的ABP框架系列教程 -- 一.框架理论初步学习   1. ABP框架的来源与作用简介 1.1  简介 1.1.1       ABP框架全称为"ASP.NET Boilerplate ...

  9. AutoMapper在ABP框架

    AutoMapper在ABP框架中的使用说明 为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里.既然系统地学习了AutoMapper,那么接下来就是该 ...

  10. ABP框架实战 1.基础信息维护

    在之前的一个开发项目中,因为公司战略发展,引用了这个ABP开源框架作为新项目的基础版本,由于客户的要求需要迁移旧系统数据,以及其他的一些原因,数据库采用了Oracle数据库管理.所以引用了Dapper ...

随机推荐

  1. mkdir 08 权限居然和mkdir 07不同

    在用fileZilla软件往Ubuntu传输文件时,提示没有权限,当时就蒙了,往文件夹复制内容怎么还扯到权限了?ls -l一看,mkdir 08 权限居然和mkdir 07不同,记录下来. 原因:在嵌 ...

  2. Anaconda 环境中安装OpenCV (cv2)

    1.使用Anaconda 的对应环境,查看环境中的Python版本号 (1)使用Anaconda 查看存在的环境:conda info --env (2)激活环境:conda activate XXX ...

  3. 桌面应用(.exe)设置窗口默认最大化、全屏(electron)

    设置窗口默认最大化.全屏(electron) 一.默认最大化 win = new BrowserWindow({show: false}) win.maximize() win.show() 二.默认 ...

  4. 前端有关请求的相关内容axios

    在请求头中常见的类型有 类型一 查看消息体 此时的请求拦截器中不需要对数据( 对象的形式 ) 进行修饰,默认会将数据修复为json的格式 类型二,当我们使用qs库对数据进行转换后(qs库的存在旨在是将 ...

  5. combox下拉框控件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. S-HR常用源码

    1.public static String getUserId(Context ctx) {        UserInfo userInfo = ContextUtil.getCurrentUse ...

  7. FMC子卡设计资料原理图:FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡

    FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡 一.产品概述 ADRV9002 是一款高性能.高线性度.高动态范围收发器,旨在针对性能与功耗系统进行优化.该设备是可配置的,非常适合要 ...

  8. python 多进程和异步io的有机结合 Error in atexit._run_exitfuncs

    众所周知,python的多线程开发在GIL(全局器解释锁)下饱受诟病,在单核模式下搞多线程对效率的提升相当有限.于是大家的共识就是搞io密集的程序,建议采用多线程,计算密集型的程序就搞多进程.近期的一 ...

  9. 宝塔Linux定时shell

    定时清除缓存文件 rm -rfv /www/wwwroot/www.xxx.com/runtime 定时解压,常用于定时恢复站点 解压到当前 cd /www/wwwroot/www.xxx.com t ...

  10. Win10安装离线.NET3.5流程

    二.安装步骤 1.将下载的安装包放到c盘windows目录下(根据需要放置) 2.用命令行安装 以管理员身份打开cmd,输入以下命令(c:\windows即文件放置目录,即上一步放置目录) dism. ...