提交 | 用户 | 时间
|
e7c126
|
1 |
package com.iailab.framework.apilog.core.annotation; |
H |
2 |
|
|
3 |
import com.iailab.framework.apilog.core.enums.OperateTypeEnum; |
|
4 |
|
|
5 |
import java.lang.annotation.ElementType; |
|
6 |
import java.lang.annotation.Retention; |
|
7 |
import java.lang.annotation.RetentionPolicy; |
|
8 |
import java.lang.annotation.Target; |
|
9 |
|
|
10 |
/** |
|
11 |
* 访问日志注解 |
|
12 |
* |
|
13 |
* @author iailab |
|
14 |
*/ |
|
15 |
@Target({ElementType.METHOD}) |
|
16 |
@Retention(RetentionPolicy.RUNTIME) |
|
17 |
public @interface ApiAccessLog { |
|
18 |
|
|
19 |
// ========== 开关字段 ========== |
|
20 |
|
|
21 |
/** |
|
22 |
* 是否记录访问日志 |
|
23 |
*/ |
|
24 |
boolean enable() default true; |
|
25 |
/** |
|
26 |
* 是否记录请求参数 |
|
27 |
* |
|
28 |
* 默认记录,主要考虑请求数据一般不大。可手动设置为 false 进行关闭 |
|
29 |
*/ |
|
30 |
boolean requestEnable() default true; |
|
31 |
/** |
|
32 |
* 是否记录响应结果 |
|
33 |
* |
|
34 |
* 默认不记录,主要考虑响应数据可能比较大。可手动设置为 true 进行打开 |
|
35 |
*/ |
|
36 |
boolean responseEnable() default false; |
|
37 |
/** |
|
38 |
* 敏感参数数组 |
|
39 |
* |
|
40 |
* 添加后,请求参数、响应结果不会记录该参数 |
|
41 |
*/ |
|
42 |
String[] sanitizeKeys() default {}; |
|
43 |
|
|
44 |
// ========== 模块字段 ========== |
|
45 |
|
|
46 |
/** |
|
47 |
* 操作模块 |
|
48 |
* |
|
49 |
* 为空时,会尝试读取 {@link io.swagger.v3.oas.annotations.tags.Tag#name()} 属性 |
|
50 |
*/ |
|
51 |
String operateModule() default ""; |
|
52 |
/** |
|
53 |
* 操作名 |
|
54 |
* |
|
55 |
* 为空时,会尝试读取 {@link io.swagger.v3.oas.annotations.Operation#summary()} 属性 |
|
56 |
*/ |
|
57 |
String operateName() default ""; |
|
58 |
/** |
|
59 |
* 操作分类 |
|
60 |
* |
|
61 |
* 实际并不是数组,因为枚举不能设置 null 作为默认值 |
|
62 |
*/ |
|
63 |
OperateTypeEnum[] operateType() default {}; |
|
64 |
|
|
65 |
} |