diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/CrudApi.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/CrudApi.java index 3d064a45..33f05f01 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/CrudApi.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/CrudApi.java @@ -23,8 +23,6 @@ import java.lang.annotation.*; /** * CRUD(增删改查)API * - *
{@link CrudRequestMapping#apis} 优先级高于方法上的 @CrudApi
- * * @author Charles7c * @since 2.7.5 */ @@ -37,14 +35,4 @@ public @interface CrudApi { * API 类型 */ Api value() default Api.LIST; - - /** - * 是否忽略认证 - */ - boolean ignoreAuth() default false; - - /** - * 是否忽略权限校验 - */ - boolean ignorePermission() default false; } diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/CrudRequestMapping.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/CrudRequestMapping.java index 9f9658d8..10a058c0 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/CrudRequestMapping.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/annotation/CrudRequestMapping.java @@ -36,26 +36,8 @@ public @interface CrudRequestMapping { */ String value() default ""; - /** - * API 列表 - *优先级高于 {@link #api}
- */ - CrudApi[] apis() default {}; - /** * API 列表 */ Api[] api() default {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE, Api.EXPORT}; - - /** - * 是否忽略认证 - *全部忽略,优先级低于 {@link CrudApi#ignoreAuth}
- */ - boolean ignoreAuth() default false; - - /** - * 是否忽略权限校验 - *全部忽略,优先级低于 {@link CrudApi#ignorePermission}
- */ - boolean ignorePermission() default false; } diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/aop/CrudApiAnnotationInterceptor.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/aop/CrudApiAnnotationInterceptor.java index 74b6273b..b7338d5a 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/aop/CrudApiAnnotationInterceptor.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/aop/CrudApiAnnotationInterceptor.java @@ -16,7 +16,6 @@ package top.continew.starter.extension.crud.aop; -import cn.hutool.core.util.ArrayUtil; import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; import org.springframework.aop.support.AopUtils; @@ -24,11 +23,9 @@ import org.springframework.core.BridgeMethodResolver; import org.springframework.core.annotation.AnnotatedElementUtils; import org.springframework.util.ClassUtils; import top.continew.starter.extension.crud.annotation.CrudApi; -import top.continew.starter.extension.crud.annotation.CrudRequestMapping; import top.continew.starter.extension.crud.controller.AbstractCrudController; import java.lang.reflect.Method; -import java.util.Arrays; import java.util.Objects; /** @@ -47,28 +44,10 @@ public class CrudApiAnnotationInterceptor implements MethodInterceptor { Method specificMethod = ClassUtils.getMostSpecificMethod(invocation.getMethod(), targetClass); Method targetMethod = BridgeMethodResolver.findBridgedMethod(specificMethod); // 获取 @CrudApi 注解 - CrudApi crudApi = this.getCrudApi(targetMethod, targetClass); + CrudApi crudApi = AnnotatedElementUtils.findMergedAnnotation(targetMethod, CrudApi.class); // 执行处理 AbstractCrudController crudController = (AbstractCrudController)invocation.getThis(); crudController.preHandle(crudApi, invocation.getArguments(), targetMethod, targetClass); return invocation.proceed(); } - - /** - * 获取 @CrudApi 注解 - * - * @param targetMethod 目标方法 - * @param targetClass 目标类 - * @return @CrudApi 注解 - */ - private CrudApi getCrudApi(Method targetMethod, Class> targetClass) { - CrudRequestMapping crudRequestMapping = AnnotatedElementUtils - .findMergedAnnotation(targetClass, CrudRequestMapping.class); - CrudApi[] crudApis = crudRequestMapping.apis(); - CrudApi crudApi = AnnotatedElementUtils.findMergedAnnotation(targetMethod, CrudApi.class); - if (ArrayUtil.isEmpty(crudApis)) { - return crudApi; - } - return Arrays.stream(crudApis).filter(api -> api.value() == crudApi.value()).findFirst().orElse(null); - } } diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/autoconfigure/CrudRequestMappingHandlerMapping.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/autoconfigure/CrudRequestMappingHandlerMapping.java index 3c230c0b..62444287 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/autoconfigure/CrudRequestMappingHandlerMapping.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/autoconfigure/CrudRequestMappingHandlerMapping.java @@ -31,7 +31,6 @@ import top.continew.starter.extension.crud.enums.Api; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Method; -import java.util.Arrays; /** * CRUD 请求映射器处理器映射器 @@ -54,7 +53,7 @@ public class CrudRequestMappingHandlerMapping extends RequestMappingHandlerMappi CrudRequestMapping crudRequestMapping = handlerType.getDeclaredAnnotation(CrudRequestMapping.class); CrudApi crudApi = AnnotatedElementUtils.findMergedAnnotation(method, CrudApi.class); // 过滤 API:如果非本类中定义,且 API 列表中不包含,则忽略 - Api[] apis = this.getApis(crudRequestMapping); + Api[] apis = crudRequestMapping.api(); if (method.getDeclaringClass() != handlerType && !ArrayUtil.contains(apis, ExceptionUtils .exToNull(crudApi::value))) { return null; @@ -63,21 +62,6 @@ public class CrudRequestMappingHandlerMapping extends RequestMappingHandlerMappi return this.getMappingForMethodWrapper(method, handlerType, crudRequestMapping); } - /** - * 获取 API 列表 - * - * @param crudRequestMapping CRUD 请求映射 - * @return API 列表 - */ - private Api[] getApis(CrudRequestMapping crudRequestMapping) { - Api[] apiArr = crudRequestMapping.api(); - CrudApi[] crudApiArr = crudRequestMapping.apis(); - if (ArrayUtil.isEmpty(crudApiArr)) { - return apiArr; - } - return Arrays.stream(crudApiArr).map(CrudApi::value).toArray(Api[]::new); - } - /** * 获取请求映射信息 *