Estoy tratando de implementar Spring AOP @Before. Aquí está el método
@Before("execution(* com.dummy.pkg..*.*(..))") public Response<Object> beforeServiceAspect(JoinPoint joinPoint) throws Exception { Object[] signatureArgs = joinPoint.getArgs(); String sessionId=(String) signatureArgs[0]; if(null==sessionId||sessionId.isEmpty()||!loginService.getUserInfo(sessionId)) { Response.setStatusCode("401"); Response.setC Response.setResultString("Unauthorized User"); return Response; //this is where i want to return in case of program enter here //**point 1** } //**point 2** where execution reaches then resume normal flow return ""; }Aquí hay dos cosas que quiero lograr
Necesita un consejo @Around en lugar de un consejo @Before , si desea modificar el flujo de control.
@Around("execution(* com.dummy.pkg..*.*(..))") public Response<Object> beforeServiceAspect(ProceedingJoinPoint joinPoint) throws Exception { Object[] signatureArgs = joinPoint.getArgs(); String sessionId=(String) signatureArgs[0]; if(null==sessionId || sessionId.isEmpty() || !loginService.getUserInfo(sessionId)) { Response.setStatusCode("401"); Response.setResultString("Unauthorized User"); return Response; } return joinPoint.proceed(args); }