(二)集成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

相关文章
|
1月前
|
存储 开发框架 JSON
ASP.NET Core OData 9 正式发布
【10月更文挑战第8天】Microsoft 在 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9,此版本与 .NET 8 的 OData 库保持一致,改进了数据编码以符合 OData 规范,并放弃了对旧版 .NET Framework 的支持,仅支持 .NET 8 及更高版本。新版本引入了更快的 JSON 编写器 `System.Text.UTF8JsonWriter`,优化了内存使用和序列化速度。
|
3天前
|
人工智能 API C#
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
使用Microsoft.Extensions.AI简化.NET中的AI集成
|
1月前
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
334 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
2月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
2月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
92 3
|
1月前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
|
2月前
|
开发框架 NoSQL .NET
利用分布式锁在ASP.NET Core中实现防抖
【9月更文挑战第5天】在 ASP.NET Core 中,可通过分布式锁实现防抖功能,仅处理连续相同请求中的首个请求,其余请求返回 204 No Content,直至锁释放。具体步骤包括:安装分布式锁库如 `StackExchange.Redis`;创建分布式锁服务接口及其实现;构建防抖中间件;并在 `Startup.cs` 中注册相关服务和中间件。这一机制有效避免了短时间内重复操作的问题。
|
3月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
82 1
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
58 0
|
2月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
安装Git、配置用户信息、生成SSH密钥以及在Gitee上创建项目仓库等。
77 0