关于 RequestMapping 的 AOP 建议

发布于 2024-12-15 19:13:49 字数 315 浏览 0 评论 0原文

如何围绕用 @RequestMapping 注释的方法创建切入点?

我定义了一个切入点,我想进一步限制一下:

@Pointcut("execution(public * company.controllers.AbstractController+.*(..))")
public void methodPointcut() { }

是否可以进一步将其限制为仅使用 @RequestMapping 注释的方法?

我尝试添加 && @annotation 到切入点的末尾,但这不是一个格式良好的切入点。

How can I create a Pointcut around my methods annotated with @RequestMapping?

I have a Pointcut defined that I'd like to restrict a bit further:

@Pointcut("execution(public * company.controllers.AbstractController+.*(..))")
public void methodPointcut() { }

Is it possible to further restrict that to only methods which are annotated with @RequestMapping?

I tried adding && @annotation to the end of the Pointcut, but that is not a well formed Pointcut.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

緦唸λ蓇 2024-12-22 19:13:49

您可以在切入点中指定注释:

@Pointcut("execution(@RequestMapping public * company.controllers.AbstractController+.*(..))")
public void methodPointcut() { } 

这是您已经尝试过的吗?

You can specify annotations in a pointcut:

@Pointcut("execution(@RequestMapping public * company.controllers.AbstractController+.*(..))")
public void methodPointcut() { } 

Is this something you've already tried?

毁梦 2024-12-22 19:13:49

我认为使用两个切入点最容易做到这一点。

@Pointcut("execution(public * company.controllers.AbstractController+.*(..))")
public void methodPointcut() {}

然后

@Pointcut("within(@org.springframework.web.bind.annotation.RequestMapping *)")
public void requestMapping() {}

简单地做:

@Before("methodPointcut() && requestMapping()")

I think this was easiest to do with two Pointcuts.

@Pointcut("execution(public * company.controllers.AbstractController+.*(..))")
public void methodPointcut() {}

and

@Pointcut("within(@org.springframework.web.bind.annotation.RequestMapping *)")
public void requestMapping() {}

Then simply doing:

@Before("methodPointcut() && requestMapping()")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文