是否可以从 Spring AspectJ 获取 return 值?
Is it possible to return value from Spring AspectJ?
我正在从 controller
返回值。让它成为ResponseEntity<String>
类型。
控制器returns:
new ResponseEntity<String>("{\"msg\":\"success\"}",HttpStatus.OK);
以下值转到我的 spring aspect
。我在以下代码中收到此对象:
@AfterReturning(pointcut = "somePointcut()",returning = "retVal")
public ResponseEntity<String> adviceTest3(Object retVal) {
//here i have access to controller's object
return new ResponseEntity<String>("{\"msg\":\"changed value within aspect\"}",HttpStatus.OK);
}
我知道 is @AfterReturning
。有没有办法操纵数据并实现这一点?
与@AfterReturning
,没有。引自 documentation
An after returning advice has access to the return value (which it cannot modify), invoked method, methods arguments and target.
您可以改用 @Around。
我正在从 controller
返回值。让它成为ResponseEntity<String>
类型。
控制器returns:
new ResponseEntity<String>("{\"msg\":\"success\"}",HttpStatus.OK);
以下值转到我的 spring aspect
。我在以下代码中收到此对象:
@AfterReturning(pointcut = "somePointcut()",returning = "retVal")
public ResponseEntity<String> adviceTest3(Object retVal) {
//here i have access to controller's object
return new ResponseEntity<String>("{\"msg\":\"changed value within aspect\"}",HttpStatus.OK);
}
我知道 is @AfterReturning
。有没有办法操纵数据并实现这一点?
与@AfterReturning
,没有。引自 documentation
An after returning advice has access to the return value (which it cannot modify), invoked method, methods arguments and target.
您可以改用 @Around。