统一后端返回前端的json的数据格式
1. 定义enum类
package com.zhx.utils; public enum ResultCode { SUCCESS(1,"成功"), /*参数错误*/ PARAM_IS_INVALID(1001, "参数无效"), PARAM_IS_BLANK(1002,"参数为空"), PARAM_TYPE_BIND_ERROR(1003, "参数类型错误"), PARAM_NOT_COMPLETE(1004, "参数缺失"), /*用户错误: 2001-2999*/ USER_NOT_LOGGED_IN(2001, "用户未登录,访问的路径需要验证,请登录") , USER_LOGIN_ERROR(2002,"账号不存在或密码错误"), USER_ACCOUNT_FORBIDDEN(2003, "账号已被禁用"), USER_NOT_EXIST(2004, "用户不存在"), USER_HAS__EXISTED(2005, "用户已存在"); private Integer code; private String msg; ResultCode(Integer code, String msg) { this.code = code; this.msg = msg; } public Integer getCode() { return code; } public String getMsg() { return msg; } }
2. 定义要返回的结果类
package com.zhx.utils; public class ResponseResult { private Object data; private ResultCode resultCode; public ResponseResult(ResultCode resultCode, Object data) { this.resultCode = resultCode; this.data = data; } public ResponseResult() { } public static ResponseResult success(){ ResponseResult responseResult = new ResponseResult(); responseResult.setResultCode(ResultCode.SUCCESS); return responseResult; } public static ResponseResult success(Object data){ ResponseResult responseResult = new ResponseResult(); responseResult.setResultCode(ResultCode.SUCCESS); responseResult.setData(data); return responseResult; } public static ResponseResult failure(ResultCode resultCode){ ResponseResult responseResult = new ResponseResult(); responseResult.setResultCode(resultCode); return responseResult; } public static ResponseResult failure(ResultCode resultCode,Object data){ ResponseResult responseResult = new ResponseResult(); responseResult.setResultCode(resultCode); responseResult.setData(data); return responseResult; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } public ResultCode getResultCode() { return resultCode; } public void setResultCode(ResultCode resultCode) { this.resultCode = resultCode; } }
3. 优化