上次我们讲过如何在swagger上隐藏接口,众所周知,swagger是一个强大的api文档工具,可以帮助我们记录文档并且测试接口,也是一个可视化操作接口的工具。

那么如果我们写的接口非常多的时候怎么办,如何进行分类管理呢,这个时候就需要用到swagger分组功能。

接下来就介绍如何进行分类:

首先我们需要在startup类设置中间件。

在Configure方法中添加:

  1. app.UseSwaggerUI(c =>
  2. {
  3. c.SwaggerEndpoint("/swagger/Attendance/swagger.json", "Attendance");
  4. c.SwaggerEndpoint("/swagger/Salarypage/swagger.json", "Salarypage");
  5. c.SwaggerEndpoint("/swagger/Employee/swagger.json", "Employee");
  6. });

默认情况只会有安装swagger包之后默认的一条。

  1. c.SwaggerDoc("v1", new Info { Title = "Demo", Version = "v1" });

所以我们需要进行分组,这里分了三组。然后在ConfigureServices方法中,配置我们的组名:

  1. services.AddSwaggerGen(c =>
  2. {
  3. c.SwaggerDoc("Attendance", new Info { Title = "一组", Version = "Attendance" });
  4. c.SwaggerDoc("Salarypage", new Info { Title = "二组", Version = "Salarypage" });
  5. c.SwaggerDoc("Employee", new Info { Title = "三组", Version = "Employee" });
  6. var xmlFile = $"{Assembly.GetEntryAssembly().GetName().Name}.xml";
  7. var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
  8. c.IncludeXmlComments(xmlPath);
  9. c.DocumentFilter<HiddenFilter>();
  10. });

这里显而易见分了三组,配置成功之后就可以直接使用了,我们需要在控制器类中设置特性:

  1. [ApiExplorerSettings(GroupName = "Attendance")]

就像这样:

  1. [Route("Employee")]
  2. [ApiExplorerSettings(GroupName = "Attendance")]
  3. [Authorize]
  4. public class EmployeesController : Controller
  5. {
  6. private readonly IEmployeeLogicHandler employeeLogicHandler;
  7.  
  8. public EmployeesController(IEmployeeLogicHandler employeeLogic)
  9. {
  10. employeeLogicHandler = employeeLogic;
  11. }
  12.  
  13. /// <summary>
  14. /// 人员管理页面
  15. /// </summary>
  16. /// <returns>IActionResult</returns>
  17. [HttpGet]
  18. public IActionResult Index()
  19. {
  20. return View();
  21. }
  22. }

然后我们就可以查看我们的结果了:

打开swagger,在地址后面加/swagger就可以直接查看了。

标红的部分就是分组的信息,这里只是举一个例子,千万不要随意分组,该隐藏的接口还是要隐藏的。

这是第二组,分组其实非常简单,希望能帮到各位。把项目的接口好好分类,是一个非常好的习惯,有利于提升开发效率和维护,最后还是谢谢观看。

.Net core 使用swagger进行Api管理的更多相关文章

  1. .NET Core使用swagger进行API接口文档管理

    一.问题背景 随着技术的发展,现在的开发模式已经更多的转向了前后端分离的模式,在前后端开发的过程中,联系的方式也变成了API接口,但是目前项目中对于API的管理很多时候还是通过手工编写文档,每次的需求 ...

  2. .NET Core和Swagger 生成 Api 文档

    测试/生产环境的BUG 这里更新一下在本地调试正常,在INT/PROD上抛错,错误信息为: */**/*.xml(Swagger json file) 文件找不到,在startup 里builder ...

  3. .NET Core和Swagger 生成 Api 文档转

    阅读目录 1.引用 2.打开startup.cs文件 3.设置XML注释 4.运行结果 5.主要问题的解决办法 6.可以自定义UI 前言 最近写了好多Web api, 老大说太乱了,要整理一下,使用S ...

  4. .net core 使用swagger生成API文档

    [1]安装Swashbuckle.AspNetCore包 [2]在Startup.cs中注册swagger //注册Swagger生成器,定义一个和多个Swagger 文档 services.AddS ...

  5. .Net Core 使用 Swagger 提供API文档

    1.运行环境 开发工具:Visual Studio 2017 JDK版本:.NET Core 2.0 项目管理工具:nuget 2.GITHUB地址 https://github.com/nbfujx ...

  6. 基于SpringCloud的Microservices架构实战案例-在线API管理

    simplemall项目前几篇回顾: 1基于SpringCloud的Microservices架构实战案例-序篇 2基于SpringCloud的Microservices架构实战案例-架构拆解 3基于 ...

  7. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  8. net core体系-API-Restful+Swagger搭建API

    本篇主要简单介绍下.net core下搭建WebApi 项目结构 项目结构其实不用多说,基本上大同小异. Controller:对外暴露的契约 Business/IBussiness:业务逻辑层实现及 ...

  9. ASP.NET Core WebApi使用Swagger生成api

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

随机推荐

  1. ESP8266 SDK开发: 测试下诱人的程序

    前言 这一节测试一下诱人的程序 实现的功能,APP通过SmartConfig给Wi-Fi模块配网并绑定设备,然后通过MQTT远程控制开发板的继电器, APP显示ESP8266采集的温湿度数据. 简而言 ...

  2. Spring Cloud @RefreshScope 原理是什么?

    要清楚RefreshScope,先要了解Scope Scope(org.springframework.beans.factory.config.Scope)是Spring 2.0开始就有的核心的概念 ...

  3. MySql查询数据令某字段显示固定值

    我们用SQL查询数据时后,基于某些原因不想看到某字段的值,比如密码,我们可以通过创建视图,忽略某一字段的值. 同时我们也可以直接通过SQL语句来让其显示某个固定值: (1)一般查询语句: SELECT ...

  4. 【Python开发】anaconda3 安装python包

    环境说明 电脑配置:win7 64位 安装版本:anaconda3 Python 3.6 参考链接 http://python.jobbole.com/86236/ (链接中有一个小点介绍了如何加速包 ...

  5. 【java】使用jsp命令查看系统中java运行的程序及进程号

    对于java独立运行的程序,他们在进程中的名字都是 Java(TM) Platform SE binary,如图 我们想知道这个进程运行的是哪个程序,怎么办呢? 答案是:可以在命令行下,运行:jps命 ...

  6. Android中getprop命令的使用

    (1)getprop 在Android系统中,使用getprop命令可以从系统中读取一些设备信息,属性的文件例如: init.rc default.prop /system/build.prop 查询 ...

  7. [原创]开源跨平台大型网络端口扫描器K8PortScan(支持批量A段/B段/C段/IP列表)

    0x000 K8PortScan Python版Cscan端口扫描器 Code: https://github.com/k8gege/K8PortScan K8portScan 1.0 Date: 2 ...

  8. Sitecore安全:访问权限

    由于Sitecore使用Core数据库中的项来定义其用户界面,因此您可以对该数据库中的项应用访问权限,以控制对CMS功能的访问.最常见的是,将用户置于预定义的Sitecore客户端角色中 Siteco ...

  9. 解决source insight 4.0 不识别.cc文件的问题

    Options -> File Type Options, File Filter 中加入,*.cc 参考了C++ Primer Plus第五版中文版 P8 C++实现 源代码的扩展名 UNIX ...

  10. C 编程环境搭建 Window 篇

    前言 - 简介 我们在写代码的过程中, 不可避免的重度依赖所处的开发环境. 本文重点带大家在 Window 搭建 C 简单控制台项目. 当作存档, 用于记录项目搭建各种重复操作.  在详细过程之前, ...