aop实现切入并获取请求头

在业务中要通过消息头中的某个信息然后在redis中获取用户的id 然后打算用aop在不影响原来代码的逻辑实现

//                   修饰符 返回类型 类路径(可以定义到包或者类) 方法(参数)
@Pointcut("execution(public * com.jianhe.tech.services.impl.StockInRecordsMorowaliServiceImpl.save*(..))")
    private void stockIn() {
          
   
    }
//这个是我自己的表达式,切入点为:public修饰,任意返回类型,这个类下save开头的方法,参数不限

因为我这个是在方法最后执行,所以用的是@After

@After(value = "stockIn() || stockOut()")
    public void send(JoinPoint joinPoint){
          
   //这个对象是原来方法的一些属性
        //获取request对象
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        Object[] args = joinPoint.getArgs();//拿到方法的参数
        String requestURI = request.getRequestURI();//拿到请求的url
        //获取对象头中的这个信息
        String authorization1 = request.getHeader("xxx");
        //逻辑代码
    }
经验分享 程序员 微信小程序 职场和发展