基本上,我正在尝试创建一个日志系统,它将记录大多数控制器方法(它们的参数、主体、状态代码等),但是,由于某些特定原因,我不想记录的控制器方法很少。我不想创建一个注释来表明这个方法将被记录(因为会有很多),相反,我想创建一个注释来表明这个方法不应该被记录。显然,我不能否定 Spring Aspect 建议中的注释,那么有什么解决方法吗?(例如从 获取方法的所有注解ProceedingJoinPoint
,然后检查它们是否包含该NoLog
注解)
问问题
42 次
1 回答
0
MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
Method method = joinPoint.getTarget().getClass()
.getMethod(methodSignature.getMethod().getName(),
methodSignature.getMethod().getParameterTypes());
CustomAnnotation annotation = method.getAnnotation(CustomAnnotation.class);
好吧,看起来你可以使用上面的代码来尝试获取CustomAnnotation
你的方法,如果你的方法没有被 this 注释CustomAnnotation
,anull
将被返回,否则将返回一个Proxy
对象
于 2019-11-28T06:43:36.997 回答