我有一种情况,我想模拟一个Web服务调用。我使用的方法是如果服务停止,它会抛出异常。我打算在spring中使用ThrowAdvice AOP
来使用该异常,并希望抑制异常并用我的虚拟对象替换响应对象。我怎么能这样做?
答案 0 :(得分:1)
我建议你使用Around建议拦截方法。这个建议将给你绝对的控制。在此建议中,您可以捕获异常并返回require响应
@Around("execution(abc.example.*Service.*(..))")
public ResultType execute(ProceedingJoinPoint p) {
ResultType result = null;
try {
result = (ResultType) p.proceed();
return result;
} catch (Throwable t) {}
// Create dummy result
return result;
}
ResultType可以是任何类型,但请确保不拦截未返回相同类型或子类型的服务