关于java:自定义拦截器

1、创立用户操作标识枚举

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface UserOperateLog {

    String value();

    String valueEn();

}

2、创立枚举拦截器,用来记录用户操作行为

@Component
@Aspect
public class UserOperateLogAspect {


    @Around("@annotation(UserOperateLog)")
    @SneakyThrows
    public Object aroundAspect(ProceedingJoinPoint joinPoint){
        //拼接用户操作日志模型
        
        //理论申请
       Object o =joinPoint.proceed();
        
        //填充模型
        
        //异步写入数据库
        
        return o;
    }

}

3、测试案例

public class TestModel {


    @UserOperateLog(value = "测试操作",valueEn="test")
    public void test1() {
    }

    public String test2() {
        return "";
    }
}

4、数据库字段

1、id
2、用户操作形容(UserOperateLog.value)
3、申请url
4、申请参数
5、返回后果
6、耗时
7、用户id
8、用户名
9、创立工夫
10、申请后果是否失败
11、异样信息
12、英文形容(UserOperateLog.valueEn)

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理