Spring 在注释方法上使用 AspectJ 会导致 404 错误

Spring with AspectJ on annoted method leads 404 error

我有以下方面处理所有 REST 控制器:

@Pointcut(value="execution(* com.company.app.features.*.controller.*.*(..))")
public void controller() { }

@Before("controller()")
public void before(JoinPoint jp) {
    // Log
}

根据需要,在 @Pointcut 中定义的包中的所有方法都可以正常工作。

然而,当我尝试将 @Before 指向仅用 @GetMapping(..) 注释的方法时,URL 导致 404 错误,但是其他方法照常工作。

我做错了什么?我的尝试都没有奏效:


相同的结果(错误 404)是当我在控制器 class 上实现一个接口时,@Override@GetMapping 注释的方法并将此方法从接口放置到@Pointcut 正如第一段代码所说。我建议后面有类似的东西。有人可以解释一下吗?

@Pointcut(value="execution(* com.company.app.features.*.controller.*.*(..))")
public void controller() { }

@Pointcut(value="execution(@within(org.springframework......GetMapping)")
public void getMapping() { }


@Before("controller() && getMapping(object)")
public void controllerGetMapping(Object objectIfYouNeedIt) {
    // Log
}