访问注解中的方法签名变量

Access to method signature variables in annotation

如何从方法签名访问变量?

在 spring security 中有 @PreAuthorize 注释,它可以使用 hasPermission 并使用 #locationDTO[ 访问传递给方法的变量=19=]

@PreAuthorize("hasPermission(#locationDTO.parent, 'Location', 'LOCATION_CREATE') ")
public ResponseEntity createLocation(@RequestBody Location locationDTO) {
     .....
}

我想创建一个可以以相同方式访问变量的自定义注释 - 这怎么可能?

发现方法:

MethodSignature methodSignature = (MethodSignature) proceedingJoinPoint.getSignature();
ParameterNameDiscoverer parameterNameDiscoverer = new 
DefaultSecurityParameterNameDiscoverer();
String[] parameterNames = parameterNameDiscoverer.getParameterNames(methodSignature.getMethod());

returns参数名列表,之后可以访问