我有 Spring acpect,它会在我的应用程序中的每个 Controller 方法周围触发。在方面的主体中,我想访问方法签名中声明的所有请求参数。有没有一种简单的方法可以避免反射?
最佳答案
您可以尝试周围建议
@Around("yourMethods()")
public Object someOperation(ProceedingJoinPoint pjp) throws Throwable {
long start = System.nanoTime();
Object retval = pjp.proceed();
long end = System.nanoTime();
String methodName = pjp.getSignature().getName();
logger.info("Execution of " + methodName + " took " +
TimeUnit.NANOSECONDS.toMillis(end - start) + " ms");
return retval;
}
这里 ProceedingJoinPoint 将包含所有参数,以便您可以使用它们,并且不要忘记返回对象,否则程序将中断。
关于java - 有没有办法在 Controller 类之外访问 Spring Controller 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59169995/