Spring boot 在注释中访问方法签名变量

Spring boot 在注释中访问方法签名变量,spring-boot,spring-security,aop,Spring Boot,Spring Security,Aop,如何从方法签名访问变量 在spring security中有@PreAuthorize注释,它可以使用hasPermission和访问传递给方法的变量#locationDTO @PreAuthorize("hasPermission(#locationDTO.parent, 'Location', 'LOCATION_CREATE') ") public ResponseEntity createLocation(@RequestBody Location locationD

如何从方法签名访问变量

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

@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());

返回可访问的参数名称列表。

您在寻找什么@MyNewAnnotation(abc=#locationDTO.parent)或@MyNewAnnotation(“myNewFunction(#locationDTO.parent)”)我正在寻找@MyNewAnnotation(permission=“SOMETHING”,target=“locationDTO.parent”)我的答案是否有帮助?