aop实现记录后端用户访问
Posted aigeileshei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了aop实现记录后端用户访问相关的知识,希望对你有一定的参考价值。
记录:
访问ip, 请求链接, 请求参数, 请求头, 返回信息...
问题1:
如何实现aop切片的就是Controller中的请求方法?
监听xxxController下的所有方法?
担心Controller中有部分方法是普通方法,例如private String datePares(Date date)这种
使用过滤器?
此业务不应该用过滤器
使用拦截器?
要求参照前面aop的例子完成,所以先不考虑。
解决方案:
spring的切点定义允许通过注解定位,结合execution表达式完成切点。
@Pointcut(" @annotation(org.springframework.web.bind.annotation.PostMapping)" + " || @annotation(org.springframework.web.bind.annotation.PutMapping)" + " || @annotation(org.springframework.web.bind.annotation.DeleteMapping)" + " || @annotation(org.springframework.web.bind.annotation.RequestMapping)") private void requestAspect() { } @Pointcut("execution(* com.duoyu.home..* (..))") private void backendAspect() { } @Around("requestAspect() && backendAspect()") public Object run(ProceedingJoinPoint point) throws Throwable {
问题2:
处理方法中如何得到HttpServletRequest?
。。。。。。。
以上是关于aop实现记录后端用户访问的主要内容,如果未能解决你的问题,请参考以下文章
前端流程实现方法(用户选择记录完成记录并支持server访问更改)