Java统一结果返回
本文最后更新于:2025年6月25日 晚上
一、根据前端定义状态码返回信息等枚举值,创建枚举类:ResponseEnum.java
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
@Getter
@AllArgsConstructor
@ToString
public enum ResponseEnum {
SUCCESS(0, "成功!"),
ERROR(-1, "失败!"),
//-1xx 服务器错误
BAD_SQL_GRAMMAR_ERROR(-101, "sql语法错误"),
SERVLET_ERROR(-102, "servlet请求异常"),
UPLOAD_ERROR(-103, "文件上传错误"),
EXPORT_DATA_ERROR(104, "数据导出失败"),
//-2xx 参数校验
BORROW_AMOUNT_NULL_ERROR(-201, "借款额度不能为空"),
MOBILE_NULL_ERROR(-202, "手机号码不能为空"),
MOBILE_ERROR(-203, "手机号码不正确"),
PASSWORD_NULL_ERROR(204, "密码不能为空"),
CODE_NULL_ERROR(205, "验证码不能为空"),
CODE_ERROR(206, "验证码错误"),
MOBILE_EXIST_ERROR(207, "手机号已被注册"),
LOGIN_MOBILE_ERROR(208, "用户不存在"),
LOGIN_PASSWORD_ERROR(209, "密码错误"),
LOGIN_LOKED_ERROR(210, "用户被锁定"),
LOGIN_AUTH_ERROR(-211, "未登录"),
USER_BIND_IDCARD_EXIST_ERROR(-301, "身份证号码已绑定"),
USER_NO_BIND_ERROR(302, "用户未绑定"),
USER_NO_AMOUNT_ERROR(303, "用户信息未审核"),
USER_AMOUNT_LESS_ERROR(304, "您的借款额度不足"),
LEND_INVEST_ERROR(305, "当前状态无法投标"),
LEND_FULL_SCALE_ERROR(306, "已满标,无法投标"),
NOT_SUFFICIENT_FUNDS_ERROR(307, "余额不足,请充值"),
PAY_UNIFIEDORDER_ERROR(401, "统一下单错误"),
ALIYUN_SMS_LIMIT_CONTROL_ERROR(-502, "短信发送过于频繁"),//业务限流
ALIYUN_SMS_ERROR(-503, "短信发送失败"),//其他失败
WEIXIN_CALLBACK_PARAM_ERROR(-601, "回调参数不正确"),
WEIXIN_FETCH_ACCESSTOKEN_ERROR(-602, "获取access_token失败"),
WEIXIN_FETCH_USERINFO_ERROR(-603, "获取用户信息失败"),
;
private Integer code; // 状态码
private String message; // 消息
}
二、定义统一返回结果类:Result.java
import lombok.Data;
import java.util.HashMap;
/**
* @author Smile
* @version 1.0
* @description: 统一返回结果
* @date 2022/3/29 17:50
*/
@Data
public class Result {
// 构造私有
private Result() {
}
private Integer code;
private String message;
private HashMap<String, Object> data = new HashMap<>();
public static Result success(){
Result result = new Result();
result.code = ResponseEnum.SUCCESS.getCode();
result.message = ResponseEnum.SUCCESS.getMessage();
return result;
}
public Result data(String key, Object value) {
this.data.put(key,value);
return this;
}
public Result data(HashMap<String, Object> map) {
this.setData(map);
return this;
}
public static Result fail(){
Result result = new Result();
result.code = ResponseEnum.ERROR.getCode();
result.message = ResponseEnum.ERROR.getMessage();
return result;
}
public Result message(Integer code, String message) {
this.code = code;
this.message = message;
return this;
}
public Result message(String message) {
this.message = message;
return this;
}
}
使用
Java统一结果返回
https://codeofhh.cn/2022/07/16/Java统一结果返回/