框架结构建议

jCoder 适合于中小型项目,简简单单,单体应用

目录结构样式

我们推荐的目录结构如下

├─src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─isart
│  │  │          └─bgy
│  │  │              ├─config           //配置文件类,例如小程序的配置引用
│  │  │              ├─controller       //Controller
│  │  │              │  ├─admin         //管理后台接口,需要token校验,jCoder协助生成
│  │  │              │  ├─app           //应用接口,例如小程序、APP的接口
│  │  │              │  └─common        //通用接口,不需要token校验,在WebSecurity中配置
│  │  │              ├─dao              //jDaoMySQL生成的Entity和Repository
│  │  │              │  ├─entity
│  │  │              │  └─repository
│  │  │              ├─data             //一般是Do,即需要为Service封装的结构放在这里
│  │  │              │  ├─role
│  │  │              │  └─user
│  │  │              ├─enums            //枚举值管理,通用枚举放在enums下,其余根据表名分包
│  │  │              │  ├─role
│  │  │              │  └─user
│  │  │              │      └─card
│  │  │              ├─manager          //Manager
│  │  │              ├─model
│  │  │              │  ├─qo            //也就是Request,根据表名分包
│  │  │              │  └─vo            //也就是Response,根据表名分包
│  │  │              │      └─community
│  │  │              ├─security         //token校验和WebSecurity
│  │  │              ├─service          //Service
│  │  │              ├─swagger          //Swagger配置
│  │  │              └─utils            //工具类,获取当前用户的UserUtil在这里

生成 Qo

由于是管理后台,系统自动生成 8 个 Qo,分别是:

一看就懂不解释

BizCommunityCreateQo.java BizCommunityDeleteQo.java BizCommunityEditQo.java BizCommunityGetQo.java BizCommunityQueryQo.java BizCommunitySetSortQo.java BizCommunitySetStatusQo.java

生成 Controller

当前版本生成的 Controller 还不是很智能

我们的理解是:

  • Qo 应该一个接口一个,例如新建和编辑接口,虽然大部分情况下只有一点点区别,但是还是应该区别开,避免个性化的需求
  • Vo 还是应该要整合,因为 Vo 力求字段完备、不缺失,冗余一些字段无问题

目前生成的 Controller 需要手动处理一下:

  1. 改下接口描述,全文替换 xxx对象名xxx为接口名,例如园区管理,那么直接替换为园区,替换后 ApiFox 生成的接口自动识别的读取
  2. 要导入一大堆的 Entity、Vo、Qo,现阶段没有更好的办法,就这么操作吧

如果你想要使用当前用户信息,那么userUtil.curUser()就可以获取到,userUtil 已经引入了

Last Updated:
Contributors: TerryQi