Spring Boot统一返回结果

实现统一返回非常简单,只需要三个功能

1
ResponseData<T> ResponseDataUtils ResultEnum

1、ResponseData

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
public class ResponseData<T> implements Serializable {

private String code;

private String msg;

private T data;


public ResponseData(String code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}

public ResponseData(String code, String msg) {
this.code = code;
this.msg = msg;
}

public ResponseData(ResultEnums resultEnums) {
this.code = resultEnums.getCode();
this.msg = resultEnums.getMsg();
}

public ResponseData(ResultEnums resultEnums, T data) {
this.code = resultEnums.getCode();
this.msg = resultEnums.getMsg();
this.data = data;
}

public ResponseData() {
}

public String getCode() {
return code;
}

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

public String getMsg() {
return msg;
}

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

public T getData() {
return data;
}

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

2、ResponseDataUtils

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
public class ResponseDataUtil {
/**
* 带实体的统一返回
*
* @param data 实体
* @param <T> 实体类型
* @return
*/
public static <T> ResponseData buildSuccess(T data) {
return new ResponseData<T>(ResultEnums.SUCCESS, data);
}

public static ResponseData buildSuccess() {
return new ResponseData(ResultEnums.SUCCESS);
}

public static ResponseData buildSuccess(String msg) {
return new ResponseData(ResultEnums.SUCCESS.getCode(), msg);
}

public static ResponseData buildSuccess(String code, String msg) {
return new ResponseData(code, msg);
}

public static <T> ResponseData buildSuccess(String code, String msg, T data) {
return new ResponseData<T>(code, msg, data);
}

public static ResponseData buildSuccess(ResultEnums resultEnums) {
return new ResponseData(resultEnums);
}

public static <T> ResponseData buildError(T data) {
return new ResponseData<T>(ResultEnums.ERROR, data);
}

public static ResponseData buildError() {
return new ResponseData(ResultEnums.ERROR);
}

public static ResponseData buildError(String msg) {
return new ResponseData(ResultEnums.ERROR.getCode(), msg);
}

public static ResponseData buildError(String code, String msg) {
return new ResponseData(code, msg);
}

public static <T> ResponseData buildError(String code, String msg, T data) {
return new ResponseData<T>(code, msg, data);
}

public static ResponseData buildError(ResultEnums resultEnums) {
return new ResponseData(resultEnums);
}
}

3、ResultEnum

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
public enum ResultEnums {

SUCCESS("0000", "请求成功"),
ERROR("1111", "请求失败"),
SYSTEM_ERROR("1000", "系统异常"),
BUSSINESS_ERROR("2001", "业务逻辑错误"),
VERIFY_CODE_ERROR("2002", "业务参数错误"),
PARAM_ERROR("2002", "业务参数错误");

private String code;
private String msg;

ResultEnums(String code, String msg) {
this.code = code;
this.msg = msg;
}

public String getCode() {
return code;
}

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

public String getMsg() {
return msg;
}

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