
1.该类规范地规定了返回格式。2.工具类import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; /** * 全局统一返回结果类 */ Data Schema(description 全局统一返回结果) public class ResultT { Schema(description 返回码) private Integer code; Schema(description 返回消息) private String message; Schema(description 返回数据) private T data; public Result(){} protected static T ResultT build(T data) { ResultT result new ResultT(); if (data ! null) result.setData(data); return result; } public static T ResultT build(T body, ResultCodeEnum resultCodeEnum) { ResultT result build(body); result.setCode(resultCodeEnum.getCode()); result.setMessage(resultCodeEnum.getMessage()); return result; } public static T ResultT build(Integer code, String message) { ResultT result build(null); result.setCode(code); result.setMessage(message); return result; } /** * 操作成功 * param T * return */ public staticT ResultT ok(){ return Result.ok(null); } /** * 操作成功 * param data * param T * return */ public staticT ResultT ok(T data){ ResultT result build(data); return build(data, ResultCodeEnum.SUCCESS); } /** * 操作失败 * param T * return */ public staticT ResultT fail(){ return Result.fail(null); } /** * 操作失败 * param data * param T * return */ public staticT ResultT fail(T data){ ResultT result build(data); return build(data, ResultCodeEnum.FAIL); } public ResultT message(String msg){ this.setMessage(msg); return this; } public ResultT code(Integer code){ this.setCode(code); return this; } public boolean isOk() { if(this.getCode().intValue() ResultCodeEnum.SUCCESS.getCode().intValue()) { return true; } return false; } }3.状态码的枚举import lombok.Getter; /** * 统一返回结果状态信息类 */ Getter public enum ResultCodeEnum { SUCCESS(200,成功), FAIL(201, 失败), PARAM_ERROR( 202, 参数不正确), SERVICE_ERROR(203, 服务异常), DATA_ERROR(204, 数据异常), DATA_UPDATE_ERROR(205, 数据版本异常), LOGIN_AUTH(208, 未登陆), PERMISSION(209, 没有权限), CODE_ERROR(210, 验证码错误), // LOGIN_MOBLE_ERROR(211, 账号不正确), LOGIN_DISABLED_ERROR(212, 改用户已被禁用), REGISTER_MOBLE_ERROR(213, 手机号已被使用), LOGIN_AURH(214, 需要登录), LOGIN_ACL(215, 没有权限), URL_ENCODE_ERROR( 216, URL编码失败), ILLEGAL_CALLBACK_REQUEST_ERROR( 217, 非法回调请求), FETCH_ACCESSTOKEN_FAILD( 218, 获取accessToken失败), FETCH_USERINFO_ERROR( 219, 获取用户信息失败), //LOGIN_ERROR( 23005, 登录失败), PAY_RUN(220, 支付中), CANCEL_ORDER_FAIL(225, 取消订单失败), CANCEL_ORDER_NO(225, 不能取消预约), SCODE_EXIST(230, 编号已经存在), NUMBER_NO(240, 可预约号不足), TIME_NO(250, 当前时间不可以预约), SIGN_ERROR(300, 签名错误), ; private Integer code; private String message; private ResultCodeEnum(Integer code, String message) { this.code code; this.message message; } }4.使用案例public Result 方法名() { ··········· return Result.方法名();//Result类的方法 }