(二)集成Swagger接口文档分组配置.net core

简介: (一)回顾:上一篇为大家介绍了在.NET Core中如何集成Swagger的介绍,想想集成操作其实非常简单便捷,实质就三个步骤:(1)在项目中执行nuget命令,拉取Swagger包到项目:Install-package Swashbuckle.AspNetCore(2)在ConfigureServices方法中新增如下代码

(一)回顾:

上一篇为大家介绍了在.NET Core中如何集成Swagger的介绍,想想集成操作其实非常简单便捷,实质就三个步骤:

(1)在项目中执行nuget命令,拉取Swagger包到项目:Install-package Swashbuckle.AspNetCore

(2)在ConfigureServices方法中新增如下代码

网络异常,图片无法展示
|

#region Swagger

   services.AddSwaggerGen(c =>

   {

       c.SwaggerDoc("v1", new Info

       {

           Version = "v1.1.0",

           Title = "Swagger WebAPI",

           Description = "XXX项目API文档",

           TermsOfService = "None",

           Contact = new Swashbuckle.AspNetCore.Swagger.Contact

           {

               Name = "XXX项目",

               Email = "273145719@qq.com"

           ,

               Url = "https://www.cnblogs.com/NBIDataVis/"

           }

       });

       // 为 Swagger JSON and UI设置xml文档注释路径

       var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);

       var xmlPath = Path.Combine(basePath, "CoreWebAPI.xml");

       //如果需要显示控制器注释只需将第二个参数设置为true

       c.IncludeXmlComments(xmlPath, true);

   });

#endregion

网络异常,图片无法展示
|

(3)在Configure方法中新增如下代码

网络异常,图片无法展示
|

#region Swagger

   app.UseSwagger();

   app.UseSwaggerUI(c =>

   {

     c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiDocument V1");

   });

#endregion

网络异常,图片无法展示
|

(二)问题:

通常一个项目中有很多的功能模块,每个功能模块又可能对应很多的接口,如果所有的接口都在一个列表显示,显然是比较混乱的,不便于调用方阅读和查找。

当然Swagger为我们已经考虑到了这一点,它能支持分组显示,具体怎么做呢,请看下面的配置:

(三)Swagger分组文档配置:

(1)在ConfigureServices方法中新增如下代码

网络异常,图片无法展示
|

#region Swagger

   services.AddSwaggerGen(c =>

   {

       c.SwaggerDoc("v1", new Info

       {

           Version = "v1.1.0",

           Title = "Swagger WebAPI",

           Description = "XXX项目API文档",

           TermsOfService = "None",

           Contact = new Swashbuckle.AspNetCore.Swagger.Contact

           {

               Name = "XXX项目",

               Email = "273145719@qq.com"

           ,

               Url = "https://www.cnblogs.com/NBIDataVis/"

           }

       });

       

       c.SwaggerDoc("User", new Info { Title = "用户模块", Version = "User" });   //分组显示

       c.SwaggerDoc("Project", new Info { Title = "项目模块", Version = "Project" });   //分组显示


       var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);

       var xmlPath = Path.Combine(basePath, "CoreWebAPI.xml");

       c.IncludeXmlComments(xmlPath, true);

   

   });

#endregion


(2)在Configure方法中新增如下代码


#region Swagger

   app.UseSwagger();

   app.UseSwaggerUI(c =>

   {

       c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1");

       c.SwaggerEndpoint("/swagger/User/swagger.json", "用户模块");  //分组显示

       c.SwaggerEndpoint("/swagger/Project/swagger.json", "项目模块");  //分组显示

   });

#endregion


(3)在Controller类上指定分组名:

image.png

 

(4)看看运行效果:

image.png

相关文章
|
3月前
|
人工智能 API C#
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
|
2月前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
42 3
|
4月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
121 9
|
4月前
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
1124 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
6月前
|
jenkins 测试技术 持续交付
解锁.NET项目高效秘籍:从理论迷雾到实践巅峰,持续集成与自动化测试如何悄然改变游戏规则?
【8月更文挑战第28天】在软件开发领域,持续集成(CI)与自动化测试已成为提升效率和质量的关键工具。尤其在.NET项目中,二者的结合能显著提高开发速度并保证软件稳定性。本文将从理论到实践,详细介绍CI与自动化测试的重要性,并以ASP.NET Core Web API项目为例,演示如何使用Jenkins和NUnit实现自动化构建与测试。每次代码提交后,Jenkins自动触发构建流程,通过编译和运行NUnit测试确保代码质量。这种方式不仅节省了时间,还能快速发现并解决问题,推动.NET项目开发迈向更高水平。
61 8
|
6月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
【8月更文挑战第30天】在Jenkins服务器中,git和Gitee是常用的代码拉取终端。Git作为分布式版本控制系统,具备出色的灵活性和可扩展性;而Gitee则在国内网络环境下表现更佳,适合团队协作。Git配置包括安装、设置用户信息及生成SSH密钥等步骤;Gitee配置也类似,需注册账号、创建仓库、配置基本信息并设置远程仓库地址。开发人员提交代码后,可通过Webhook、定时轮询或事件监听等方式触发Jenkins动作,确保持续集成和部署高效运行。正确配置这些触发机制并通过测试验证其有效性至关重要。
84 2
|
6月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
123 1
|
6月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
108 1
|
5月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
108 0
|
5月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
安装Git、配置用户信息、生成SSH密钥以及在Gitee上创建项目仓库等。
108 0