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");
//逻辑代码
}
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
跨域的解决方案:nginx
