(二)集成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月前
|
开发框架 .NET 开发者
简化 ASP.NET Core 依赖注入(DI)注册-Scrutor
Scrutor 是一个简化 ASP.NET Core 应用程序中依赖注入(DI)注册过程的开源库,支持自动扫描和注册服务。通过简单的配置,开发者可以轻松地从指定程序集中筛选、注册服务,并设置其生命周期,同时支持服务装饰等高级功能。适用于大型项目,提高代码的可维护性和简洁性。仓库地址:<https://github.com/khellang/Scrutor>
74 5
|
6天前
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
35 14
|
5月前
|
存储 开发框架 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`,优化了内存使用和序列化速度。
123 0
|
3月前
|
开发框架 算法 中间件
ASP.NET Core 中的速率限制中间件
在ASP.NET Core中,速率限制中间件用于控制客户端请求速率,防止服务器过载并提高安全性。通过`AddRateLimiter`注册服务,并配置不同策略如固定窗口、滑动窗口、令牌桶和并发限制。这些策略可在全局、控制器或动作级别应用,支持自定义响应处理。使用中间件`UseRateLimiter`启用限流功能,并可通过属性禁用特定控制器或动作的限流。这有助于有效保护API免受滥用和过载。 欢迎关注我的公众号:Net分享 (239字符)
70 1
|
4月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
73 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
3月前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
64 3
|
5月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
524 1
|
6月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
6月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
147 3
|
5月前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架

热门文章

最新文章