期望结果
请求成功时响应
{
"code":200,
"message":"SUCCESS",
"data":{
"info":"测试成功"
}
}
//或
{
"code": 200,
"message": "success",
"data": null
}
请求失败时响应
{
"code": 500,
"message": "系统异常,请联系管理员!",
"data": null
}
创建枚举类型
用于返回状态码
这里只定义了一些通用的、基于的HTTP响应状态码,业务相关的编码可根据业务需求进行定义。
@Getter
@AllArgsConstructor
public enum ResponseCodeEnums {
SUCCESS(200, "success"),
FAIL(500, "failed"),
HTTP_STATUS_200(200, "ok"),
HTTP_STATUS_400(400, "request error"),
HTTP_STATUS_401(401, "no authentication"),
HTTP_STATUS_403(403, "no authorities"),
HTTP_STATUS_500(500, "server error");
private final int code;
private final String message;
}
定义统一返回结果实体类
@Data
public class ResponseInfo<T> {
/**
* 状态码
*/
protected int code;
/**
* 响应信息
*/
protected String message;
/**
* 返回数据
*/
private T data;
public static <T> ResponseInfo<T> success() {
return new ResponseInfo<>();
}
public static <T> ResponseInfo<T> success(T data) {
return new ResponseInfo<>(data);
}
public static <T> ResponseInfo<T> fail(String message) {
return new ResponseInfo<>(ResponseCodeEnums.FAIL.getCode(),