У меня есть аспект, который делает различные вычисления, основанные на деталях целевого метода, и поэтому извлекает эти предварительные данные следующим образом:
@Around("execution(* com.xyz.service.AccountService.*(..))")
public void validateParams(ProceedingJoinPoint joinPoint) throws Throwable {
final MethodSignature signature = (MethodSignature) joinPoint.getSignature();
final String methodName = signature.getName();
final String[] parameterNames = signature.getParameterNames();
final Object[] arguments = joinPoint.getArgs();
...
...
...
joinPoint.proceed();
}
Из извлеченных сведений все отражают ожидаемую информацию, кроме параметра parameterNames, который всегда возвращает ноль. Я ожидаю, что он вернет {accountDetails} согласно подписи ниже. Кто-нибудь знает, что мне не хватает, или это ошибка?
Вот подпись целевого метода, с которым я работаю:
Long createAccount(RequestAccountDetails accountDetails);