El nombre del parámetro del método springboot

Hay dos formas de obtener el nombre del parámetro del método en springboot

El método utilizado para verificar, puede ver que hay dos nombres de parámetros, una prueba y una num.

public String getString ( String test, Integer num ) {return ""; }

1. Utilice el LocalVariableTableParameterNameDiscoverer de Spring

Definir la clase de uso

private static LocalVariableTableParameterNameDiscoverer parameterNameDiscovere = new LocalVariableTableParameterNameDiscoverer();

Lo uso aquí en aop, así que uso el método get ProceedingJoinPoint, parameterNameDiscovere.getParameterNames () debe pasarse en el método

String[] parameterNames = parameterNameDiscovere.getParameterNames(getMethod((ProceedingJoinPoint) joinPoint));
for (String parameterName : parameterNames) {
    logger.info(parameterName);
}

El resultado de salida es que los nombres de los parámetros se emiten correctamente en orden

prueba

en uno

Si el método no tiene parámetros, parameterNames se devuelve como nulo

2. ProceedingJoinPoint cuando se utiliza AOP

  Signature signature = joinPoint.getSignature();
        MethodSignature methodSignature = (MethodSignature) signature;
        String[] strings = methodSignature.getParameterNames();
        System.out.println(Arrays.toString(strings));

Salida

[Prueba si]

 

En la actualidad, he resumido dos métodos más convenientes, y si hay buenos, puedes comentarme.

Supongo que te gusta

Origin blog.csdn.net/Mint6/article/details/94991183
Recomendado
Clasificación