Прежде всего, я хочу спросить вас, что вы хотите регистрировать?
цель вашего аспектного кода - записать параметры метода, а у вас нет параметров в методе @GetMapping.
, поэтому ваш аспектный метод успешно запущен и для @GetMapping.Но просто проверьте условие и передайте его.Вполне нормально, что вы не видите журналы.
примените изменения ниже, они будут работать:
@Pointcut("@annotation(org.springframework.web.bind.annotation.GetMapping)")
//@Pointcut("@annotation(org.springframework.web.bind.annotation.GetMapping) || @annotation(org.springframework.web.bind.annotation.PostMapping))")
public void getMapping() {
}
@Pointcut("@annotation(org.springframework.web.bind.annotation.PostMapping)")
//@Pointcut("@annotation(org.springframework.web.bind.annotation.GetMapping) || @annotation(org.springframework.web.bind.annotation.PostMapping))")
public void postMapping() {
}
@Pointcut("execution(* *(..)) && within(com.dux.secondwallet.api.v3.pay.merchant.*))")
public void atExecution() {
}
@Before("(getMapping() || postMapping()) && atExecution()")
public void endpointBefore(JoinPoint p) {
log.info("ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss");
Object[] signatureArgs = p.getArgs();
if (Objects.nonNull(signatureArgs) && signatureArgs.length > 0) {
log.info("Request object: " + signatureArgs[0]);
}else{
log.info("log for get");
}
}
execution(* *(..))
: это для сигнатуры вашего метода.
within(com.dux.secondwallet.api.v3.pay.merchant.*)
это ограничение пакета.