由于最近需要开发一个管理系统的后台,在开发想要整体尽量保持一致性。参考了一些优秀的开源框架,各有各的特点。所以这里做一个总结。

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.常用表名约定

  1. user 用户
  2. category 分类
  3. goods 商品、物品
  4. good_gallery 物品相册
  5. good_cate 物品分类
  6. attr 属性
  7. article 文章
  8. cart 购物差
  9. feedback 用户反馈
  10. order 订单
  11. site_nav 页头和页尾导航
  12. site_config 系统配置表
  13. admin 后台用户
  14. role 后台用户角色
  15. access 后台操作权限
  16. role_admin 后台用户对应的角色
  17. access_role 后台角色对应的权限

参考文章:
1.RESTful API 最佳实践