上次我们讲过如何在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. PATA1055 The World's Richest (25 分)

    1055 The World's Richest (25 分) Forbes magazine publishes every year its list of billionaires based ...

  2. Codeforces Global Round 3 题解

    这场比赛让我上橙了. 前三题都是大水题,不说了. 第四题有点难想,即使想到了也不能保证是对的.(所以说下面D的做法可能是错的) E的难度是 $2300$,但是感觉很简单啊???说好的歪果仁擅长构造的呢 ...

  3. React - 组件:函数组件

    目录: . 组件名字首字母一定是大写的 . 返回一个jsx . jsx依赖React,所以组件内部需要引入React . 组件传参 a. 传递. <Component list={ arrDat ...

  4. springboot项目打包成jar/war包

    springboot项目打包过程中包含第三方jar 开发IDE是IntelliJ IDEA,数据库是mysql,内置服务器tomcat. 打包步骤: 1. 确定项目调试运行没问题 2. 将第三方jar ...

  5. CentOS安装PinPoint

    1.软件准备 jdk-8u191-linux-x64.tar.gz,下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8 ...

  6. ASP.NET Core WebApi构建API接口服务实战演练

    一.ASP.NET Core WebApi课程介绍 人生苦短,我用.NET Core!提到Api接口,一般会想到以前用到的WebService和WCF服务,这三个技术都是用来创建服务接口,只不过Web ...

  7. 利用ffmpeg获取视频帧

    如果要对视频帧进行处理,可以先把视频帧读取出来. sh文件代码如下: #!/usr/bin/env sh VIDEO=/home/xxx/video/ FRAMES=/home/xxx/frame/ ...

  8. .NET配置引用程序集的路径(分离exe和dll)

    按照引用程序集路径的不同,程序集DLL分为两类: 1)全局DLL(在GAC中注册,GAC——全局程序集缓存),有关GAC的详细资料可以参考一下链接: http://dddspace.com/2011/ ...

  9. AKKA 常见异常

    一,scala 相关类找不到问题 AKKA 包的版本命名规则 compile("com.typesafe.akka:akka-remote_2.13:2.5.23") 注意: co ...

  10. Win10开启上帝模式

    1.新建一个文件夹2.修改文件夹名字为 上帝模式.{ED7BA470-8E54-465E-825C-99712043E01C}