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

相关文章
|
13天前
|
数据可视化 Java API
Spring Boot与Swagger的集成
Spring Boot与Swagger的集成
|
13天前
|
Java API 开发者
在Spring Boot中集成Swagger API文档
在Spring Boot中集成Swagger API文档
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
|
24天前
|
安全 Java API
技术笔记:SpringBoot集成Swagger3.0(详细)
技术笔记:SpringBoot集成Swagger3.0(详细)
|
27天前
|
JavaScript 应用服务中间件 nginx
nginx配置解决vue刷新404、swagger 页面访问(springboot+vue项目)
nginx配置解决vue刷新404、swagger 页面访问(springboot+vue项目)
27 0
|
27天前
|
Java
springboot集成swagger2并分组全局设置Authorization
springboot集成swagger2并分组全局设置Authorization
30 0
|
2月前
|
开发框架 JSON .NET
.Net4.0 Web.config 配置实践
.Net4.0 Web.config 配置实践
|
2月前
|
JSON API 定位技术
.NET集成DeveloperSharp实现http网络请求&与其它工具的比较
该内容介绍了一个支持.NET Core 2.0及以上和.NET Framework 4.0及以上的HTTP请求调用方法,主要讨论了POST和GET两种形式。POST请求较为常见,涉及调用地址、发送参数、HTTP请求头和编码格式设置。文中提供了一个使用DeveloperSharp库发送POST请求的C#代码示例,用于发送短信,其中`IU.HttpPost`方法用于执行POST请求。此外,还提到了`HttpPost`方法的参数和返回值说明。最后简要提及了GET请求,通常用于URL带有查询参数的情况,并给出一个简单的GET请求示例。
|
2月前
|
XML Java API
Spring Boot中使用集成swagger-bootstrap-ui
Spring Boot中使用集成swagger-bootstrap-ui
95 0