###AOP 中如何获取 Model 对象
可以通过RequestContextHolder 获取 request
不知道怎么获取Model , 不是声明在参数上那种
###AOP 中如何获取 Model 对象
可以通过RequestContextHolder 获取 request
不知道怎么获取Model , 不是声明在参数上那种
若是出参model, 直接使用AfterReturning 获取返回数据对象。下面代码就是我项目中自己用的。希望对你有帮助
@AfterReturning(returning = "obj", pointcut = "webAspect()")
public void aspectLogAfter(Object obj) {
log.info("END params : {}", JSONUtil.toJson(obj));
}
中间代码的对象可以使用反射获取 。
// 获取方法名
String methodName = joinPoint.getSignature().getName();
// 反射获取目标类
Class<?> targetClass = joinPoint.getTarget().getClass();
// 拿到方法对应的参数类型
Class<?>[] parameterTypes = ((MethodSignature) joinPoint.getSignature()).getParameterTypes();
// 根据类、方法、参数类型(重载)获取到方法的具体信息
Method objMethod = targetClass.getMethod(methodName, parameterTypes);