java aop改变方法返回值_Spring aop切入点表达式访问方法返回类型

我有一个带有很多方法的服务接口,所有方法都带一个Request对象并返回一个Response对象。所有的请求对象都有一个共同的祖先,所有的响应对象都有一个不同的共同祖先(它有一个成功标志和一个消息字段)。Spring aop切入点表达式访问方法返回类型

现在我想要检查权限等方面,执行服务调用,并返回一个失败代码的Response对象,如果有任何失败。问题是:我需要知道创建什么类型的Response对象。是否有一个切入点表达式使我可以访问返回类型?也许这样的事情?

@Around(value = "execution(public *"

+ " com.mycompany.MyService+.*(..))"

+ " && args(request)"

+ " && returning(returnType)" // something like this would be nice

, argNames = "request,returnType")

public Object handleServiceCall(final ProceedingJoinPoint pjp,

final Request request,

final Class extends Response> returnType){ ... }

+0

所以,你想建议几个具有相同方面的方法,有时需要产生并返回响应对象而不调用服务,并且该响应对象必须是服务方法的正确子类型? –

2010-06-23 09:52:46

+0

是的,这正是我想要的 –

2010-06-23 11:34:06

你可能感兴趣的:(java,aop改变方法返回值)