自定义系统状态码

设计思路

原生状态100 - 599保留不变,可用600+的三位数进行状态标识

实践思路

先将整个系统的抽象状态尽可能提取(如:登录相关,注册相关),然后才确定具体(状态码),基本思路:抽象到具体

具体化思路

预先感知未来使用情况,对状态类型定义区间,区间确定后对状态码进行实现(如:600,601)

状态来源

控制层:直接将状态封装到返回对象中
服务层:抛自定义异常,同时把状态封装在异常中,控制层的异常拦截器拦截异常,获取状态,将状态封装到返回对象中

例子:

以下常见状态请用系统状态码HttpStatus
200 成功

400 请求参数有误
401 没有权限
403 禁止访问
404 页面未找到

500 服务器错误


/**
 * @description 以下为自定义状态码
 * @date 2019/11/23
 * 600 ++
 * 分类区间为20单位,如需扩展分类需写为(例:600 - 619 && 700 - 719)
 * 命名规范:ERROR + 类型名称 + 状态
 */

//TODO 600 - 609 登录相关
//密码错误
public static final int ERROR_LOGIN_PASSWORD = 600;

//用户不存在
public static final int ERROR_LOGIN_USER_NOT_EXIST = 601;

//未登陆
public static final int ERROR_LOGIN_NOT_YET = 602;

//TODO 610 - 619 注册相关
//用户已存在
public static final int ERROR_SIGNIN_USER_DUPLICATE = 610;
发布了43 篇原创文章 · 获赞 12 · 访问量 9871

猜你喜欢

转载自blog.csdn.net/OrangeHap/article/details/103260544