This commit is contained in:
fuenmao
2026-08-27 16:27:08 +08:00
parent ae8167a566
commit 80940c60a5
22 changed files with 218 additions and 8 deletions
@@ -1,4 +1,4 @@
// Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛
// Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛
//
// SimpleAdmin 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款:
// 1.请不要删除和修改根目录下的LICENSE文件。
@@ -183,15 +183,18 @@ public class ResourceService : DbRepository<SysResource>, IResourceService
foreach (var controller in controllerTypes)
{
var apiAttribute = controller.GetCustomAttribute<ApiDescriptionSettingsAttribute>();//获取接口描述特性
var tag = apiAttribute.Tag;//获取标签
var tag = apiAttribute?.Tag;//获取标签
//获取数据权限特性
var routeAttributes = controller.GetCustomAttributes<RouteAttribute>().ToList();
if (routeAttributes == null)
if (routeAttributes == null || routeAttributes.Count == 0)
continue;
var route = routeAttributes[0];//取第一个值
var route = routeAttributes[0];//取第一个值作为生成接口路由的基础
var routeName = GetRouteName(controller.Name, route.Template);//赋值路由名称
//如果路由包含在路由列表中
if (routes.Contains(routeName))
//如果路由包含在路由列表中,或支持前缀/多路由匹配
var isMatched = routeAttributes.Any(ra => routes.Contains(GetRouteName(controller.Name, ra.Template)))
|| routes.Contains(routeName)
|| routes.Any(r => !string.IsNullOrEmpty(r) && routeName.StartsWith(r));
if (isMatched)
{
//获取所有方法
var methods = controller.GetMethods();