横切流程管道用法的春季方面

时间:2019-05-15 06:51:11

标签: spring spring-boot spring-aspects

我想在自己的横切过程中使用spring方面,就像我的过程执行生命周期中的before或after处理程序。 例如

在要执行处理程序的方法之前我想要什么,由于其响应,我想完成处理过程并返回自定义响应。

在处于停止状态的示例中,我应该抛出自定义异常来停止进程,那时我该如何处理我的返回响应,我想在客户端提供有意义的对象。这样做的最佳方法是什么?

@Before
MyHandler()
{

bool stop=checkvalue();
if(stop==false)
continue...
else
{
  //break all process
    and return custom response to client
  //throw exception but meaningfullresponse??
}

}

1 个答案:

答案 0 :(得分:0)

我会使用Before建议来包装方法调用并事先调用Around,而不是使用checkValue()建议:

@Around("someJoinpoint")
public Object MyHandler(ProceedingJoinPoint pjp) {
    if (!checkvalue()) {
        return pjp.proceed();
    } else {
        return someCustomResponseToClient();
    }
}

有关Around建议的更多信息,请参见Spring documentation