swagger新增分组

This commit is contained in:
不做码农 2023-08-18 08:31:30 +08:00
parent 240a607875
commit e8ab6d47eb
27 changed files with 97 additions and 32 deletions

View File

@ -14,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers
/// 公共模块 /// 公共模块
/// </summary> /// </summary>
[Route("[controller]/[action]")] [Route("[controller]/[action]")]
[Tags("公共模块Common")]
[ApiExplorerSettings(GroupName = "sys")]
public class CommonController : BaseController public class CommonController : BaseController
{ {
private OptionsSetting OptionsSetting; private OptionsSetting OptionsSetting;

View File

@ -11,6 +11,8 @@ namespace ZR.Admin.WebApi.Controllers
/// 文章目录Controller /// 文章目录Controller
/// </summary> /// </summary>
[Route("article/ArticleCategory")] [Route("article/ArticleCategory")]
[Tags("文章目录")]
[ApiExplorerSettings(GroupName = "article")]
public class ArticleCategoryController : BaseController public class ArticleCategoryController : BaseController
{ {
/// <summary> /// <summary>

View File

@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers
/// </summary> /// </summary>
[Verify] [Verify]
[Route("article")] [Route("article")]
[Tags("文章管理")]
[ApiExplorerSettings(GroupName = "article")]
public class ArticleController : BaseController public class ArticleController : BaseController
{ {
/// <summary> /// <summary>
@ -32,7 +34,7 @@ namespace ZR.Admin.WebApi.Controllers
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet("list")] [HttpGet("list")]
[ActionPermissionFilter(Permission = "system:article:list")] [ActionPermissionFilter(RolePermi = "admin")]
public IActionResult Query([FromQuery] ArticleQueryDto parm) public IActionResult Query([FromQuery] ArticleQueryDto parm)
{ {
var response = _ArticleService.GetList(parm); var response = _ArticleService.GetList(parm);

View File

@ -1,8 +1,4 @@
using Infrastructure; using Infrastructure.Extensions;
using Infrastructure.Attribute;
using Infrastructure.Enums;
using Infrastructure.Extensions;
using Mapster;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Extensions;
@ -10,7 +6,6 @@ using ZR.Admin.WebApi.Filters;
using ZR.CodeGenerator; using ZR.CodeGenerator;
using ZR.CodeGenerator.Model; using ZR.CodeGenerator.Model;
using ZR.CodeGenerator.Service; using ZR.CodeGenerator.Service;
using ZR.Common;
using ZR.Model; using ZR.Model;
using ZR.Model.System.Dto; using ZR.Model.System.Dto;
using ZR.Model.System.Generate; using ZR.Model.System.Generate;
@ -23,6 +18,8 @@ namespace ZR.Admin.WebApi.Controllers
/// </summary> /// </summary>
[Verify] [Verify]
[Route("tool/gen")] [Route("tool/gen")]
[Tags("代码生成CodeGenerator")]
[ApiExplorerSettings(GroupName = "sys")]
public class CodeGeneratorController : BaseController public class CodeGeneratorController : BaseController
{ {
private readonly CodeGeneraterService _CodeGeneraterService = new CodeGeneraterService(); private readonly CodeGeneraterService _CodeGeneraterService = new CodeGeneraterService();

View File

@ -14,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/CommonLang")] [Route("system/CommonLang")]
[Tags("多语言配置CommonLang")]
[ApiExplorerSettings(GroupName = "sys")]
public class CommonLangController : BaseController public class CommonLangController : BaseController
{ {
/// <summary> /// <summary>

View File

@ -14,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/config")] [Route("system/config")]
[Tags("系统配置SysConfig")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysConfigController : BaseController public class SysConfigController : BaseController
{ {
/// <summary> /// <summary>

View File

@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/dept")] [Route("system/dept")]
[Tags("部门管理SysDept")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysDeptController : BaseController public class SysDeptController : BaseController
{ {
public ISysDeptService DeptService; public ISysDeptService DeptService;

View File

@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/dict/data")] [Route("system/dict/data")]
[Tags("字典数据SysDictData")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysDictDataController : BaseController public class SysDictDataController : BaseController
{ {
private readonly ISysDictDataService SysDictDataService; private readonly ISysDictDataService SysDictDataService;

View File

@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/dict/type")] [Route("system/dict/type")]
[Tags("字典数据类型SysDictType")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysDictTypeController : BaseController public class SysDictTypeController : BaseController
{ {
private readonly ISysDictService SysDictService; private readonly ISysDictService SysDictService;

View File

@ -1,13 +1,9 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using Infrastructure.Attribute;
using Infrastructure.Enums;
using Infrastructure.Model;
using ZR.Admin.WebApi.Filters; using ZR.Admin.WebApi.Filters;
using ZR.Common;
using ZR.Model.System; using ZR.Model.System;
using ZR.Service.System.IService;
using ZR.Model.System.Dto; using ZR.Model.System.Dto;
using ZR.Service.System.IService;
namespace ZR.Admin.WebApi.Controllers namespace ZR.Admin.WebApi.Controllers
{ {
@ -16,6 +12,8 @@ namespace ZR.Admin.WebApi.Controllers
/// </summary> /// </summary>
[Verify] [Verify]
[Route("tool/file")] [Route("tool/file")]
[Tags(" 文件存储SysFile")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysFileController : BaseController public class SysFileController : BaseController
{ {
/// <summary> /// <summary>
@ -37,15 +35,13 @@ namespace ZR.Admin.WebApi.Controllers
[ActionPermissionFilter(Permission = "tool:file:list")] [ActionPermissionFilter(Permission = "tool:file:list")]
public IActionResult QuerySysFile([FromQuery] SysFileQueryDto parm) public IActionResult QuerySysFile([FromQuery] SysFileQueryDto parm)
{ {
//开始拼装查询条件
var predicate = Expressionable.Create<SysFile>(); var predicate = Expressionable.Create<SysFile>();
//搜索条件查询语法参考Sqlsugar
predicate = predicate.AndIF(parm.BeginCreate_time != null, it => it.Create_time >= parm.BeginCreate_time); predicate = predicate.AndIF(parm.BeginCreate_time != null, it => it.Create_time >= parm.BeginCreate_time);
predicate = predicate.AndIF(parm.EndCreate_time != null, it => it.Create_time <= parm.EndCreate_time); predicate = predicate.AndIF(parm.EndCreate_time != null, it => it.Create_time <= parm.EndCreate_time);
predicate = predicate.AndIF(parm.StoreType != null, m => m.StoreType == parm.StoreType); predicate = predicate.AndIF(parm.StoreType != null, m => m.StoreType == parm.StoreType);
predicate = predicate.AndIF(parm.FileId != null, m => m.Id == parm.FileId); predicate = predicate.AndIF(parm.FileId != null, m => m.Id == parm.FileId);
//搜索条件查询语法参考Sqlsugar
var response = _SysFileService.GetPages(predicate.ToExpression(), parm, x => x.Id, OrderByType.Desc); var response = _SysFileService.GetPages(predicate.ToExpression(), parm, x => x.Id, OrderByType.Desc);
return SUCCESS(response); return SUCCESS(response);
} }

View File

@ -16,6 +16,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// <summary> /// <summary>
/// 登录 /// 登录
/// </summary> /// </summary>
[Tags("登录SysLogin")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysLoginController : BaseController public class SysLoginController : BaseController
{ {
static readonly NLog.Logger logger = NLog.LogManager.GetLogger("LoginController"); static readonly NLog.Logger logger = NLog.LogManager.GetLogger("LoginController");
@ -157,6 +159,7 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
/// <param name="context"></param> /// <param name="context"></param>
/// <returns></returns> /// <returns></returns>
[ApiExplorerSettings(IgnoreApi = true)]
public SysLogininfor RecordLogInfo(HttpContext context) public SysLogininfor RecordLogInfo(HttpContext context)
{ {
var ipAddr = context.GetClientUserIp(); var ipAddr = context.GetClientUserIp();

View File

@ -12,6 +12,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("/system/menu")] [Route("/system/menu")]
[Tags("菜单管理SysMenu")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysMenuController : BaseController public class SysMenuController : BaseController
{ {
private readonly ISysRoleService sysRoleService; private readonly ISysRoleService sysRoleService;

View File

@ -17,6 +17,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/notice")] [Route("system/notice")]
[Tags("系统通知SysNotice")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysNoticeController : BaseController public class SysNoticeController : BaseController
{ {
/// <summary> /// <summary>

View File

@ -14,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/post")] [Route("system/post")]
[Tags("岗位管理SysPost")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysPostController : BaseController public class SysPostController : BaseController
{ {
private readonly ISysPostService PostService; private readonly ISysPostService PostService;

View File

@ -12,6 +12,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/user/profile")] [Route("system/user/profile")]
[Tags("个人中心SysProfile")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysProfileController : BaseController public class SysProfileController : BaseController
{ {
private readonly ISysUserService UserService; private readonly ISysUserService UserService;

View File

@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/role")] [Route("system/role")]
[Tags("角色管理SysRole")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysRoleController : BaseController public class SysRoleController : BaseController
{ {
private readonly ISysRoleService sysRoleService; private readonly ISysRoleService sysRoleService;

View File

@ -15,6 +15,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/user")] [Route("system/user")]
[Tags("用户管理SysUser")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysUserController : BaseController public class SysUserController : BaseController
{ {
private readonly ISysUserService UserService; private readonly ISysUserService UserService;

View File

@ -10,6 +10,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/userRole")] [Route("system/userRole")]
[Tags("用户角色管理SysUserRole")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysUserRoleController : BaseController public class SysUserRoleController : BaseController
{ {
private readonly ISysUserRoleService SysUserRoleService; private readonly ISysUserRoleService SysUserRoleService;

View File

@ -16,6 +16,8 @@ namespace ZR.Admin.WebApi.Controllers
/// </summary> /// </summary>
[Verify] [Verify]
[Route("system/Tasks")] [Route("system/Tasks")]
[Tags("计划Tasks")]
[ApiExplorerSettings(GroupName = "sys")]
public class TasksController : BaseController public class TasksController : BaseController
{ {
private ISysTasksQzService _tasksQzService; private ISysTasksQzService _tasksQzService;

View File

@ -1,11 +1,7 @@
using Infrastructure; using Infrastructure.Extensions;
using Infrastructure.Attribute;
using Infrastructure.Enums;
using Infrastructure.Extensions;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using ZR.Admin.WebApi.Filters; using ZR.Admin.WebApi.Filters;
using ZR.Common;
using ZR.Model; using ZR.Model;
using ZR.Model.System; using ZR.Model.System;
using ZR.Model.System.Dto; using ZR.Model.System.Dto;
@ -18,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers.System
/// </summary> /// </summary>
[Verify] [Verify]
[Route("/monitor/jobLog")] [Route("/monitor/jobLog")]
[Tags("任务日志TasksLog")]
[ApiExplorerSettings(GroupName = "sys")]
public class TasksLogController : BaseController public class TasksLogController : BaseController
{ {
private readonly ISysTasksLogService tasksLogService; private readonly ISysTasksLogService tasksLogService;

View File

@ -1,11 +1,6 @@
using Infrastructure;
using Infrastructure.Extensions; using Infrastructure.Extensions;
using Infrastructure.Model;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System;
using System.Diagnostics; using System.Diagnostics;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
@ -14,6 +9,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor
/// <summary> /// <summary>
/// 系统监控 /// 系统监控
/// </summary> /// </summary>
[Tags("系统监控Monitor")]
[ApiExplorerSettings(GroupName = "sys")]
public class MonitorController : BaseController public class MonitorController : BaseController
{ {
private OptionsSetting Options; private OptionsSetting Options;

View File

@ -11,6 +11,8 @@ namespace ZR.Admin.WebApi.Controllers
/// </summary> /// </summary>
[Verify] [Verify]
[Route("monitor/SqlDiffLog")] [Route("monitor/SqlDiffLog")]
[Tags("差异日志SqlDiffLog")]
[ApiExplorerSettings(GroupName = "sys")]
public class SqlDiffLogController : BaseController public class SqlDiffLogController : BaseController
{ {
/// <summary> /// <summary>

View File

@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor
/// </summary> /// </summary>
[Verify] [Verify]
[Route("/monitor/logininfor")] [Route("/monitor/logininfor")]
[Tags("登录日志SysLogininfor")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysLogininforController : BaseController public class SysLogininforController : BaseController
{ {
private ISysLoginService sysLoginService; private ISysLoginService sysLoginService;

View File

@ -11,6 +11,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor
/// </summary> /// </summary>
[Verify] [Verify]
[Route("/monitor/operlog")] [Route("/monitor/operlog")]
[Tags("操作日志SysOperlog")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysOperlogController : BaseController public class SysOperlogController : BaseController
{ {
private ISysOperLogService sysOperLogService; private ISysOperLogService sysOperLogService;

View File

@ -8,6 +8,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor
{ {
[Verify] [Verify]
[Route("monitor/online")] [Route("monitor/online")]
[Tags("在线用户SysUserOnline")]
[ApiExplorerSettings(GroupName = "sys")]
public class SysUserOnlineController : BaseController public class SysUserOnlineController : BaseController
{ {
private IHubContext<Hub> HubContext; private IHubContext<Hub> HubContext;

View File

@ -1,7 +1,7 @@
using Infrastructure; using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.OpenApi.Models; using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.Filters; using Swashbuckle.AspNetCore.Filters;
using Swashbuckle.AspNetCore.SwaggerUI;
using System.Reflection; using System.Reflection;
namespace ZR.Admin.WebApi.Extensions namespace ZR.Admin.WebApi.Extensions
@ -33,7 +33,13 @@ namespace ZR.Admin.WebApi.Extensions
}; };
}); });
}); });
app.UseSwaggerUI(c => c.SwaggerEndpoint("v1/swagger.json", "ZrAdmin v1")); app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("sys/swagger.json", "系统管理");
c.SwaggerEndpoint("article/swagger.json", "文章管理");
c.SwaggerEndpoint("v1/swagger.json", "business");
c.DocExpansion(DocExpansion.None); //->修改界面打开时自动折叠
});
} }
public static void AddSwaggerConfig(this IServiceCollection services) public static void AddSwaggerConfig(this IServiceCollection services)
@ -43,6 +49,20 @@ namespace ZR.Admin.WebApi.Extensions
services.AddSwaggerGen(c => services.AddSwaggerGen(c =>
{ {
c.SwaggerDoc("sys", new OpenApiInfo
{
Title = "ZrAdmin.NET Api",
Version = "v1",
Description = "系统管理",
Contact = new OpenApiContact { Name = "ZRAdmin doc", Url = new Uri("https://www.izhaorui.cn/doc") }
});
c.SwaggerDoc("article", new OpenApiInfo
{
Title = "ZrAdmin.NET Api",
Version = "v1",
Description = "文章管理",
Contact = new OpenApiContact { Name = "ZRAdmin doc", Url = new Uri("https://www.izhaorui.cn/doc") }
});
c.SwaggerDoc("v1", new OpenApiInfo c.SwaggerDoc("v1", new OpenApiInfo
{ {
Title = "ZrAdmin.NET Api", Title = "ZrAdmin.NET Api",
@ -94,6 +114,20 @@ namespace ZR.Admin.WebApi.Extensions
new List<string>() new List<string>()
} }
}); });
//判断接口归于哪个分组
c.DocInclusionPredicate((docName, apiDescription) =>
{
if (docName == "v1")
{
//当分组为NoGroup时只要没加特性的都属于这个组
return string.IsNullOrEmpty(apiDescription.GroupName);
}
else
{
return apiDescription.GroupName == docName;
}
});
}); });
} }
} }

Binary file not shown.