Skip to content

项目结构规范

后端项目目录结构

后端目前分为两个模块:admin(管理端业务实现模块)、common(通用模块),其中所有涉及业务的代码都在admin模块中,common模块中存放的是一些通用的代码,主要存放一些和async模块共用的代码,但是现在async模块暂时不启用。

INFO

async模块是后端异步任务模块,已经实现审计日志和系统日志的异步写入,日志存放在ES和MySQL中,但是考虑到平台的部署难度,已经将该功能停用,日志将写入到后端程序所部署的同级目录的logs文件夹中。

admin模块

  • configuration包中存放着配置类,例如:spring-security配置类、docker配置类、knife4j配置类等等;
  • constant包中存放着常量类以及枚举类,以Constant结尾的类为常量类,以Enum结尾的类为枚举类。枚举类存放在enums包中,在该包中的rescode包中存放着响应码枚举类;
  • controller包中存放着控制器类,例如:用户控制器、队伍控制器等等,每一种类型的控制器都有自己的包含,例如:用户控制器对应的包为user包,队伍控制器对应的包为team包等等;
  • exception包中存放自定义的异常处理类,具体的异常处理类为CustomExceptionHandler,项目的自定义的异常类型分为两种:BussinessExceptionSystemException,分别对应业务异常和系统异常,在需要捕获异常的地方抛出对应的异常类型即可,例如:
java
try {
    ...... //可能会引发异常的业务逻辑代码
} catch (Exception e) {
    throw new BusinessException(CommonResCodeEnum.RC_FAILURE);
}

INFO

以上的示例代码中使用到了响应码枚举类CommonResCodeEnum,其中RC_FAILURE为枚举值,表示请求失败,当使用该枚举值时,API接口返回的异常信息为:

json
{
 "code": "-1",
 "success": false,
 "data": null,
 "exception": null,
 "msg": "请求失败!"
}

若想返回其他异常信息,则可以根据业务场景类型,在constant包中定义新的响应码枚举类,并使用对应的枚举值。

前端项目目录结构

Released under the MulanPSL2 License.