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

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

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

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

在Configure方法中添加:

 app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/Attendance/swagger.json", "Attendance");
c.SwaggerEndpoint("/swagger/Salarypage/swagger.json", "Salarypage");
c.SwaggerEndpoint("/swagger/Employee/swagger.json", "Employee");
});

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

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

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

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

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

[ApiExplorerSettings(GroupName = "Attendance")]

就像这样:

    [Route("Employee")]
[ApiExplorerSettings(GroupName = "Attendance")]
[Authorize]
public class EmployeesController : Controller
{
private readonly IEmployeeLogicHandler employeeLogicHandler; public EmployeesController(IEmployeeLogicHandler employeeLogic)
{
employeeLogicHandler = employeeLogic;
} /// <summary>
/// 人员管理页面
/// </summary>
/// <returns>IActionResult</returns>
[HttpGet]
public IActionResult Index()
{
return View();
}
}

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

打开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. ABP .net framework版 的发布

    先正常的发布流程走 特别的如下图

  2. 一步一步编写AVL树

    第一步:定义结构体 typedef struct Node{ int d; //data ; //height struct Node* l=NULL; struct Node* r=NULL; No ...

  3. 使用PostMan进行压力/性能测试

    1. 2. 3. 4.查看结果/导出结果

  4. centos 升级openSSH7.81

    1.下载相关依赖包 [root@Log ~]# yum install -y gcc openssl-devel pam-devel rpm-build 2.下载安装包 wget http://ftp ...

  5. 出现:Microsoft Visual C++ 14.0 is required 的解决方案

    以安装pandas为例: 如:pip install scrapy 时出现: error: Microsoft Visual C++ 14.0 is required. Get it with “Mi ...

  6. HttpClient代理IP及设置连接读取超时

    1.不废话,上代码: public static void main(String[] args) throws Exception { CloseableHttpClient httpClient ...

  7. Spring boot2X集成zuul与consul实现负载均衡和反向代理

    zuul 是netflix开源的一个API Gateway 服务器 所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序. 作为一个边界性质的应用程序,Zuul提供了动态路由.监控 ...

  8. IO流—字符流

    字符流 只能读写文本文件 Reader 抽象类 字符输出流的父类 Writer 抽象类 字符输出流的父类 字符转换输出流: OutputStreamWriter(OutputStream out):创 ...

  9. SQL Server ----- 还原数据库,将另一台电脑上的数据库装在本机

    1.创建好数据库,记住安装位置,,和需要还原的数据库的位置 还原数据库的意思就是 根据创建的数据库,还原备份的数据库,如果数据库中没有数据库要新建数据库. 2.进来后如图 3.找你需要的还原数据库的位 ...

  10. Java学习:迭代器简介

    迭代器 java.util.Iterator接口:迭代器(对集合进行遍历) 有两个常用的方法 boolean hasNext() 如果仍有元素可以迭代,则返回 true. 判断集合中还有没有下一个元素 ...