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

相关文章
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
1482 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
SQL Java 关系型数据库
Dataphin功能Tips系列(53)-离线集成任务如何合理配置JVM资源
本文探讨了将MySQL数据同步至Hive时出现OOM问题的解决方案。
520 5
|
JSON Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的使用
本文详细介绍了Swagger2的使用方法,包括在Spring Boot项目中的配置与应用。重点讲解了Swagger2中常用的注解,如实体类上的`@ApiModel`和`@ApiModelProperty`,Controller类上的`@Api`、`@ApiOperation`以及参数上的`@ApiParam`等。通过示例代码展示了如何为实体类和接口添加注解,并在页面上生成在线接口文档,实现接口测试。最后总结了Swagger的优势及其在项目开发中的重要性,提供了课程源代码下载链接供学习参考。
1111 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的使用
|
11月前
|
开发框架 .NET C#
ASP.NET Core Blazor 路由配置和导航
大家好,我是码农刚子。本文系统介绍Blazor单页应用的路由机制,涵盖基础配置、路由参数、编程式导航及高级功能。通过@page指令定义路由,支持参数约束、可选参数与通配符捕获,结合NavigationManager实现页面跳转与参数传递,并演示用户管理、产品展示等典型场景,全面掌握Blazor路由从入门到实战的完整方案。
771 6
|
JSON JavaScript API
MCP 实战:用配置与真实代码玩转 GitHub 集成
MCP 实战:用配置与真实代码玩转 GitHub 集成
3091 4
|
缓存 前端开发 API
(网页系统集成CAD功能)在线CAD中配置属性的使用教程
本文介绍了Mxcad SDK在线预览和编辑CAD图纸的功能及配置方法。通过Vite、CDN或Webpack实现集成,用户可自定义设置以满足项目需求。主要内容包括:1)`createMxCad()`方法的初始属性配置,如画布ID、WASM文件路径、字体加载路径等;2)`MxFun.setIniset()`方法提供的更多CAD初始配置;3)`McObject`对象API用于动态调整视图背景色、浏览模式等。此外,还提供了在线Demo(https://demo2.mxdraw3d.com:3000/mxcad/)供用户测试实时效果。
|
Java 数据库连接 数据库
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
2062 0
|
缓存 Java 应用服务中间件
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——依赖导入和Thymeleaf相关配置
在Spring Boot中使用Thymeleaf模板,需引入依赖`spring-boot-starter-thymeleaf`,并在HTML页面标签中声明`xmlns:th="http://www.thymeleaf.org"`。此外,Thymeleaf默认开启页面缓存,开发时建议关闭缓存以实时查看更新效果,配置方式为`spring.thymeleaf.cache: false`。这可避免因缓存导致页面未及时刷新的问题。
592 0
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
662 0

热门文章

最新文章