- 统一业务状态码BizCodeEnum
状态码定义约束,共6位数,前3位代表服务,后3位代表接口
比如 商品微服务210, 购物车微服务220, 用户微服务230, 403代表权限
public enum BizCodeEnum { /** * 通用操作码 */ OPS_REPEAT(110001,"重复操作"), /** *验证码 */ CODE_TO_ERROR(240001,"接收号码不合规"), CODE_LIMITED(240002,"验证码发送过快"), CODE_ERROR(240003,"验证码错误"), CODE_CAPTCHA(240101,"图形验证码错误"), /** * 账号 */ ACCOUNT_REPEAT(250001,"账号已经存在"), ACCOUNT_UNREGISTER(250002,"账号不存在"), ACCOUNT_PWD_ERROR(250003,"账号或者密码错误"); @Getter private String message; @Getter private int code; private BizCodeEnum(int code, String message){ this.code = code; this.message = message; } }- 接口统一协议JsonData工具类开发
@Data @AllArgsConstructor @NoArgsConstructor public class JsonData { /** * 状态码 0 表示成功,1表示处理中,-1表示失败 */ private Integer code; /** * 数据 */ private Object data; /** * 描述 */ private String msg; /** * 成功,传入数据 * @return */ public static JsonData buildSuccess() { return new JsonData(0, null, null); } /** * 成功,传入数据 * @param data * @return */ public static JsonData buildSuccess(Object data) { return new JsonData(0, data, null); } /** * 失败,传入描述信息 * @param msg * @return */ public static JsonData buildError(String msg) { return new JsonData(-1, null, msg); } /** * 自定义状态码和错误信息 * @param code * @param msg * @return */ public static JsonData buildCodeAndMsg(int code, String msg) { return new JsonData(code, null, msg); } /** * 传入枚举,返回信息 * @param codeEnum * @return */ public static JsonData buildResult(BizCodeEnum codeEnum){ return JsonData.buildCodeAndMsg(codeEnum.getCode(),codeEnum.getMessage()); } }