# 错误码
正常响应和异常时候都应该返回响应码,在出现错误时候使用错误码,方便快速定位问题。这里为了方便,普通提示性错误码用-1。
# 错误码结构
其中msg ,可以使用String.format支持的占位符。
package com.seezoon.framework.api;
/**
 * 错误码及响应信息结构
 *
 *
 * @author hdf
 */
public class CodeMsg {
    private String code;
    private String msg;
    public CodeMsg(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }
    public String code() {
        return code;
    }
    public String msg() {
        return msg;
    }
}
TIP
Result 和BusinessException 都支持传入该结构。
# 错误码举例
如果对错误码需要严格细分,可以自己扩展。
package com.seezoon.admin.framework.error;
import com.seezoon.framework.api.CodeMsg;
import com.seezoon.framework.api.DefaultCodeMsgBundle;
/**
 * admin 端需要标准的错误码,非强制,在开发效率与可维护性之间找平衡,统一有利于国际化及后续监控支持
 *
 *
 * @author hdf
 */
public class AdminCodeMsgBundle extends DefaultCodeMsgBundle {
    public static final CodeMsg UNKOWN_LOGIN = new CodeMsg("80000", "未知登录错误,请联系管理员,%s");
    public static final CodeMsg USERNAME_NOT_FOUND = new CodeMsg("80001", "账户密码错误,连续错误5次将锁定24小时");
    public static final CodeMsg BAD_CREDENTIALS = new CodeMsg("80002", "账户密码错误,连续错误5次将锁定24小时");
    public static final CodeMsg USERNAME_LOCKED = new CodeMsg("80003", "账户已被锁定");
    public static final CodeMsg IP_LOCKED = new CodeMsg("80004", "IP已被锁定");
    public static final CodeMsg DISABLED = new CodeMsg("80005", "账户已被禁用");
}
