首先要封装一个响应的枚举,将一些常见的错误写入,一般状态码需要与前端一起制定,以便前端提示错误信息以及发生错误的处理逻辑。

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
package com.yww.demo.util;

/**
* j枚举
*
* @author yww
*/
public enum ResultCode {

/**
* 成功
*/
SUCCESS(200, "成功"),

/**
* 请求错误
*/
BAD_REQUEST(400, "请求错误"),

/**
* Token失效
*/
UNAUTHORIZED(401, "无效令牌"),

/**
* 权限不足
*/
FORBIDDEN(403, "权限不足"),

/**
* 服务器错误
*/
FAILED(500, "服务器发生错误");

private int status;
private String message;

ResultCode(int status, String message) {
this.status = status;
this.message = message;
}

public int getStatus() {
return status;
}

public String getMessage() {
return message;
}

public void setStatus(int status) {
this.status = status;
}

public void setMessage(String message) {
this.message = message;
}

}

然后是数据返回的封装类。

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
package com.yww.demo.util;

import lombok.Data;

/**
* @ClassName Result
* @Descriprtion 结果类封装
* @Author yww
* @Date 2021/5/21 23:22
**/
@Data
public class Result {

/**
* 状态码
*/
private Integer code;

/**
* 返回内容
*/
private String message;

/**
* 返回数据
*/
private Object data;

/**
* 无参构造函数
*/
private Result() { }

/**
* 全参构造函数
*
* @param code 状态码
* @param message 返回内容
* @param data 返回数据
*/
public Result(Integer code, String message, Object data) {
this.code = code;
this.message = message;
this.data = data;
}

/**
* 返回一个成功的信息
*/
public static Result success() {
return new Result(ResultCode.SUCCESS.getStatus(), ResultCode.SUCCESS.getMessage(), null);
}

/**
* 返回一个成功的信息
*
* @param data 返回数据
*/
public static Result success(Object data) {
return new Result(ResultCode.SUCCESS.getStatus(), ResultCode.SUCCESS.getMessage(), data);
}

/**
* 返回一个错误的信息
*/
public static Result failure() {
return new Result(ResultCode.FAILED.getStatus(), ResultCode.FAILED.getMessage(),null);
}

/**
* 返回一个错误的信息
* @param message 返回内容
*/
public static Result failure(String message) {
return new Result(ResultCode.FAILED.getStatus(), message,null);
}

/**
* 返回一个错误的信息
* @param resultCode 状态码
*/
public static Result failure(ResultCode resultCode) {
return new Result(resultCode.getStatus(), resultCode.getMessage(),null);
}

}