泛型重写结果返回类

这是要接入smart-doc时,看个文档被骂了

image-20220316183827205

猛然发觉,md有道理啊,随即开始重构,我以前的结果返回类是继承于map,

如此

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
import java.util.HashMap;

/**
* 操作消息提醒
*

*/
public class AjaxResult extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;

/**
* 状态码
*/
public static final String CODE_TAG = "code";

/**
* 返回内容
*/
public static final String MSG_TAG = "msg";

/**
* 数据对象
*/
public static final String DATA_TAG = "data";

/**
* 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。
*/
public AjaxResult() {
}

/**
* 初始化一个新创建的 AjaxResult 对象
*
* @param code 状态码
* @param msg 返回内容
*/
public AjaxResult(int code, String msg) {
super.put(CODE_TAG, code);
super.put(MSG_TAG, msg);
}

/**
* 初始化一个新创建的 AjaxResult 对象
*
* @param code 状态码
* @param msg 返回内容
* @param data 数据对象
*/
public AjaxResult(int code, String msg, Object data) {
super.put(CODE_TAG, code);
super.put(MSG_TAG, msg);
if (data != null && data != "") {
super.put(DATA_TAG, data);
} else {
super.put(DATA_TAG, new JSONObject());
}
}

/**
* 返回成功消息
*
* @return 成功消息
*/
public static AjaxResult success() {
return AjaxResult.success("操作成功");
}
//
// public static AjaxResult success(Object result)
// {
// return AjaxResult.success("操作成功");
// }

/**
* 返回成功数据
*
* @return 成功消息
*/
public static AjaxResult success(Object data) {
return AjaxResult.success("操作成功", data);
}

/**
* 返回成功消息
*
* @param msg 返回内容
* @return 成功消息
*/
public static AjaxResult success(String msg) {
return AjaxResult.success(msg, null);
}

/**
* 返回成功消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 成功消息
*/
public static AjaxResult success(String msg, Object data) {
return new AjaxResult(HttpStatus.SUCCESS, msg, data);
}

/**
* 返回错误消息
*
* @return
*/
public static AjaxResult error() {
return AjaxResult.error("操作失败");
}

/**
* 返回错误消息
*
* @param msg 返回内容
* @return 警告消息
*/
public static AjaxResult error(String msg) {
return AjaxResult.error(msg, null);
}

/**
* 返回错误消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 警告消息
*/
public static AjaxResult error(String msg, Object data) {
return new AjaxResult(HttpStatus.ERROR, msg, data);
}

/**
* 返回错误消息
*
* @param code 状态码
* @param msg 返回内容
* @return 警告消息
*/
public static AjaxResult error(int code, String msg) {
return new AjaxResult(code, msg, null);
}

/**
* 返回错误消息
*
* @param errorType 异常
* @return 警告消息
*/
public static AjaxResult error(ErrorType errorType) {
// System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"+ JSON.toJSONString(errorType.getCode()+"xxxxxxxxxxxxxx"+errorType.getMesg()));
return AjaxResult.error(Integer.parseInt(errorType.getCode()), errorType.getMesg());
}
}

改写后

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**
* 操作消息提醒
*
* @author zhb
*/
public class AjaxResult<T> extends BaseResult<T> implements Serializable {
private static final long serialVersionUID = -7268040542410707954L;



/**
* 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。
*/
public AjaxResult() {
}

/**
* 初始化一个新创建的 AjaxResult 对象
*
* @param code 状态码
* @param msg 返回内容
*/
public AjaxResult(int code, String msg) {
this.setCode(code);
this.setMsg(msg);
}

/**
* 初始化一个新创建的 AjaxResult 对象
*
* @param code 状态码
* @param msg 返回内容
* @param data 数据对象
*/
public AjaxResult(int code, String msg, T data) {
this.setCode(code);
this.setMsg(msg);
if (data != null && data != "") {
this.setData(data);
} else {
this.setData(null);
}
}

/**
* 返回成功消息
*
* @return 成功消息
*/
public static <T> AjaxResult<T> success() {
return success("操作成功");
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @return 成功消息
*/
public static <T> AjaxResult<T> success(String msg) {
return baseCreate(HttpStatus.SUCCESS, msg,null);
}
public static <T> AjaxResult<T> success(T data) {
return baseCreate(HttpStatus.SUCCESS, "操作成功",data);
}
public static <T> AjaxResult<T> success(String msg,T data) {
return baseCreate(HttpStatus.SUCCESS, msg,data);
}

/**
* 返回错误消息
*
* @return
*/
public static <T> AjaxResult<T> error() {
return AjaxResult.error("操作失败");
}

/**
* 返回错误消息
*
* @param msg 返回内容
* @return 警告消息
*/
public static <T> AjaxResult<T> error(String msg) {
return baseCreate(HttpStatus.ERROR, msg,null);
}


/**
* 返回错误消息
*
* @param code 状态码
* @param msg 返回内容
* @return 警告消息
*/
public static <T> AjaxResult<T> error(int code, String msg) {
return baseCreate(code, msg,null);
}

/**
* 返回错误消息
*
* @param errorType 异常
* @return 警告消息
*/
public static <T> AjaxResult<T> error(ErrorType errorType) {
return AjaxResult.error(Integer.parseInt(errorType.getCode()), errorType.getMesg());
}

public T getData() {
return (T) super.getData();
}

public AjaxResult<T> setResult(T data) {
this.setData(data);
return this;
}
private static <T> AjaxResult<T> baseCreate(int code, String msg,T data) {
AjaxResult<T> result = new AjaxResult<T>();
result.setCode(code);
result.setMsg(msg);
result.setTimestamp(LocalDateTimeTool.nowTime());
if(data!=null){
result.setResult(data);
}
return result;
}

}

这是BaseResult

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class BaseResult<T> implements Serializable {
private T data;
private int code;
private String msg;
private String timestamp;

public String getTimestamp() {
return timestamp;
}

public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}

public T getData() {
return data;
}

public void setData(T data) {
this.data = data;
}

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}
}

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!