由于最近需要开发一个管理系统的后台,在开发想要整体尽量保持一致性。参考了一些优秀的开源框架,各有各的特点。所以这里做一个总结。
Service、Controller 函数命名
在函数命名时不知道如何命名比较。spring boot 是比较典型的 mvc 架构,于是查看了 github 上面一些项目的命名格式。整理如下:
主要整理关于 menu 菜单的请求(没有或未找到 menu 的找其他的进行代替)
controller 中第一行为基础路径,剩下的按照 请求方法 路径 > 函数方法名的格式来进行书写。
service 中直接就是函数的方法名。
| 项目名称 | star | controller | service | 备注 |
|---|---|---|---|---|
| Mall | 56.2k | /menu post /create > create post /update/{id} > update get /{id} > getItem post /delete/{id} > delete get /list/{parentId} > list get /treeList > treeList |
create update getItem delete list treeList |
|
| ForestBlog | 3.6k | /admin/menu get > menuList post /insertSubmit > insertMenuSubmit get /delete/{id} > deleteMenu post /editSubmit > editSubmit |
listMenu insertMenu deleteMenu updateMenu getMenuById |
|
| eladmin | 17.5k | /api/menus get /build > buildMenus get /lazy > queryAllMenu post > createMenu put > updateMenu delete > deleteMenu |
queryAll findById create update delete getMenus buildTree buildMenus |
|
| newbee-mall | 8.5k | /goods get /edit > edit get /edit/{goodsId} > edit get /list > list post /save > save post /update > update get /info/{id} > info |
getNewBeeMallGoodsPage saveNewBeeMallGoods saveNewBeeMallGoods updateNewBeeMallGoods getNewBeeMallGoodsById batchUpdateSellStatus |
|
| PIG | 3k 30.7k(gitee) |
/menu post > save delete /{id} > removeById put > update get /{id} > getById get /tree/roleId > getRoleTree get /tree > getTree |
save removeMenuById updateMenuById getById findMenuByRoleId treeMenu |
|
| RuoYi | 1.8k 27.8k(gitee) |
/system/menu post /add > addSave get /remove/{menuId} > remove post /edit > editSave get /list > list get /menuTreeData > menuTreeData |
由于项目打算采用类似 restful 风格的 api ,所以经过参考后打算按照如下结果进行命名:
controller:
/menus
post / > create
put /{id} > update
get /{id} > getItem
delete /{id} > delete
get > getList
get /treeList > getTree
service:
create
update
getItem
delete
getList
getTree
数据库表
数据库方面的规范由于有《阿里巴巴Java开发手册》这样比较优秀的规范,所以决定基本上采用其中的规约。
以下几点有所不同:
1.表必备三字段
对于强制要求的表必备三字段(id,gmt_create,gmt_modified),因为个人习惯和网上一些项目的参考,打算将其中的(gmt_create,gmt_modified)更换为(created_at,updated_at)
2.表前缀
对于表前缀,《阿里巴巴Java开发手册》没有明确要求,参考 mall、eladmin、RuoYi 等项目,打算使用以下表前缀:
sys_ 系统、管理员、后台的相关表
3.常用表名约定
user 用户category 分类goods 商品、物品good_gallery 物品相册good_cate 物品分类attr 属性article 文章cart 购物差feedback 用户反馈order 订单site_nav 页头和页尾导航site_config 系统配置表admin 后台用户role 后台用户角色access 后台操作权限role_admin 后台用户对应的角色access_role 后台角色对应的权限
参考文章:
1.RESTful API 最佳实践
