框架结构建议
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 需要手动处理一下:
- 改下接口描述,全文替换
xxx对象名xxx
为接口名,例如园区管理,那么直接替换为园区
,替换后 ApiFox 生成的接口自动识别的读取 - 要导入一大堆的 Entity、Vo、Qo,现阶段没有更好的办法,就这么操作吧
如果你想要使用当前用户信息,那么userUtil.curUser()
就可以获取到,userUtil 已经引入了