@@ -38,7 +38,24 @@ com.company.project
38
38
39
39
40
40
## 命名规范
41
- ### 类/接口命名
41
+ ### 接口命名
42
+
43
+
44
+ | 操作类型 | HTTP方法 | 推荐动词 | 示例路径 |
45
+ | ---------------| ----------| ------------------| -------------------------|
46
+ | 获取单个 | GET | get | /users/{id} |
47
+ | 获取列表 | GET | list | /users |
48
+ | 分页查询 | GET | search | /users/search |
49
+ | 创建资源(add) | POST | create | /users |
50
+ | 全量更新(edit) | PUT | update | /users/{id} |
51
+ | 局部更新 | PATCH | partialUpdate | /users/{id}/email |
52
+ | 删除资源 | DELETE | delete | /users/{id} |
53
+ | 关联添加 | POST | attach | /teams/{id}/members |
54
+ | 批量操作 | POST | batch[ Action] | /products/batch-delete |
55
+
56
+
57
+
58
+ ### 对象命名
42
59
| 类型 | 模式 | 示例 |
43
60
| ---------------| ---------------------| --------------------|
44
61
| REST 控制器 | ` XxxController ` | ` UserController ` |
@@ -56,66 +73,43 @@ com.company.project
56
73
| 创建操作 | ` createXxx ` | ` createUser ` |
57
74
| 更新操作 | ` updateXxx ` | ` updateUser ` |
58
75
76
+
77
+ ### 按钮权限标识命名
78
+
79
+ | 权限标识 | 模块 | 资源 | 操作 | 适用场景 | 示例按钮文案 |
80
+ | ---------------------------| --------| --------| -----------------| -------------------------| --------------------|
81
+ | ` sys:user:query ` | sys | user | query | 数据查询/过滤 | 搜索用户、查看列表 |
82
+ | ` sys:user:add ` | sys | user | add | 新增数据 | 新建用户、添加账号 |
83
+ | ` sys:user:edit ` | sys | user | edit | 修改已有数据 | 编辑资料、修改权限 |
84
+ | ` sys:user:delete ` | sys | user | delete | 删除数据 | 删除用户、移除账号 |
85
+ | ` sys:user:import ` | sys | user | import | 批量数据导入 | 导入用户、批量新增 |
86
+ | ` sys:user:export ` | sys | user | export | 数据导出为文件 | 导出Excel、下载报表|
87
+ | ` sys:user:reset-password ` | sys | user | reset-password | 密码重置操作 | 重置密码、强制修改 |
88
+
59
89
---
60
90
61
91
## 注释规范
62
- ### Swagger 接口文档
63
- ``` java
64
- @Operation (summary = " 用户登录" , description = " 通过手机号+密码进行身份认证" )
65
- @PostMapping (" /login" )
66
- public Result<UserVO > login(
67
- @Parameter (description = " 登录表单" , required = true )
68
- @RequestBody LoginForm form) {
69
- // ...
70
- }
71
- ```
72
92
73
- ### 复杂逻辑注释
93
+ ### 类注释标准
74
94
``` java
75
- // 使用三斜线注释标记待优化点
76
- // / TODO: 2023-10-01 缓存穿透风险,需增加空值缓存
77
- public UserVO getUserById(Long userId) {
78
- // ...
79
- }
95
+ /**
96
+ * 用户控制层
97
+ *
98
+ * @author Ray.Hao
99
+ * @since 2.9.0
100
+ *
101
+ * 2.9.1 - 2023-08-01 增加删除保护机制
102
+ * 2.9.0 - 2023-07-15 初始版本
103
+ */
80
104
```
81
105
82
- ---
83
106
84
- ## 异常处理规范
85
- ### 自定义异常体系
86
- ``` java
87
- // 业务异常基类
88
- public class BusinessException extends RuntimeException {
89
- private final ErrorCode errorCode;
90
-
91
- public BusinessException (ErrorCode errorCode ) {
92
- super (errorCode. getMessage());
93
- this . errorCode = errorCode;
94
- }
95
- }
96
-
97
- // 细分异常类型
98
- public class OrderNotFoundException extends BusinessException {
99
- public OrderNotFoundException () {
100
- super (ErrorCode . ORDER_NOT_FOUND );
101
- }
102
- }
103
- ```
107
+ | 要素 | 规范要求 |
108
+ | -----------------| --------------------------------------------------------------------------|
109
+ | ** 类描述** | 首行简明描述类职责,使用` [业务模块]+[层级类型] ` 结构(如:订单服务层) |
110
+ | ** @author ** | 必须标注,多人维护时分行标注(例:` @author Ray.Hao @author Han.Helena ` ) |
111
+ | ** @since ** | 必须标注,格式为` 主版本.次版本.修订号 ` (如Spring式版本号) |
112
+ | ** 空行规则** | 类描述与标签之间必须空一行 |
113
+
114
+ ---
104
115
105
- ### 全局异常处理
106
- ``` java
107
- @RestControllerAdvice
108
- public class GlobalExceptionHandler {
109
-
110
- @ExceptionHandler (BusinessException . class)
111
- public Result<Void > handleBusinessException (BusinessException e ) {
112
- return Result . fail(e. getErrorCode());
113
- }
114
-
115
- @ExceptionHandler (MethodArgumentNotValidException . class)
116
- public Result<Void > handleValidationException (MethodArgumentNotValidException e ) {
117
- String message = e. getBindingResult(). getAllErrors(). get(0 ). getDefaultMessage();
118
- return Result . fail(ErrorCode . PARAM_ERROR. getCode(), message);
119
- }
120
- }
121
- ```
0 commit comments