You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
4.6 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## 数据库设计规范
### 表设计规范
1、表名全部小写单词间通过'_'间隔
2、主键命名为'id'varchar(20),不使用数据库的序列,应用生成全局序列。
3、必须包含4个审计字段且不能为空。created_time、updated_time、created_by、updated_by。
4、关键词要求大写使用IDE如idea进行格式化
5、常量枚举全部用大写
### 外键及索引命名规范
1、唯一索引ux_表名_索引字段。如ux_resource_code
2、普通索引ix_表名_索引字段。如ix_role_name
3、外键命名fk_表名_字段名。如fk_orders_product_id
### 字段长度规则
| 名称类 | 类型 | 长度 | 备注 |
|--------|---------|------|--------|
| 编码类 | varchar | 100 | |
| 账号类 | varchar | 100 | 如emailusername |
| 状态类 | varchar | 5 | 如订单状态等 |
| 名称类 | varchar | 200 | 中文名称,如产品名 |
| 手机电话| varchar | 20 | |
| 描述简介| varchar | 500 | |
| 网址类 | varchar | 500 | 如url |
| 时间类 | datetime | | |
## URL和方法命名规范
### RESTFUL URL命名规范
API URI design
API URI 设计最重要的一个原则: nouns (not verbs!) ,名词(而不是动词)。
CRUD 简单 URI
| 方法 | URL | 功能 |
|--------|-----------|------------------|
| GET | /user | 获取用户列表 |
| GET | /user/1 | 获取 id 为 1 的用户|
| POST | /user | 创建一个用户 |
| PUT | /user/1 | 替换 id 为 1 的用户|
| PATCH | /user/1 | 修改 id 为 1 的用户|
| DELETE | /user/1 | 删除 id 为 1 的用户|
上面是对某一种资源进行操作的 URI那如果是有关联的资源或者称为级联的资源该如何设计 URI 呢?比如某一用户下的产品:
| 方法 | URL | 功能 |
|--------|---------------------|------------------------------------|
| GET | /user/1/product | 获取 Id 为 1 用户下的产品列表 |
| GET | /user/1/product/2 | 获取 Id 为 1 用户下 Id 为 2 的产品 |
| POST | /user/1/product | 在 Id 为 1 用户下,创建一个产品 |
| PUT | /user/1/product/2 | 在 Id 为 1 用户下,替换 Id 为 2 的产品|
| PATCH | /user/1/product/2 | 修改 Id 为 1 的用户下 Id 为 2 的产品 |
| DELETE | /user/1/product/2 | 删除 Id 为 1 的用户下 Id 为 2 的产品 |
### 方法命名规范
### Mapper
简单的CRUD请按如下规则命名
| 操作 | 例子 | 备注 |
|--------|---------------------|----------------------------------|
| 增加 | insert/add | |
| 删除 | delete | |
| 修改 | update | |
| 查询 | query | |
| 搜索 | search | |
### Service
简单的CRUD请按如下规则命名其它操作请按业务动作命名使用动词
| 操作 | 例子 | 备注 |
|--------|---------------------|----------------------------------|
| 增加 | add | |
| 获取 | get | 获取到单条记录 |
| 删除 | remove/delete | |
| 更新 | update | 更新存在的记录 |
| 保存 | save | 更新,不存在则新增 |
| 查询 | query | 根据id等简单条件查询 |
| 搜索 | search | 根据时间范围或模糊搜索 |
### Rest
简单的CRUD请按如下规则命名其它操作请按业务动作命名使用动词
| 操作 | 例子 | 备注 |
|--------|---------------------|----------------------------------|
| 增加 | add | |
| 保存 | save | 更新,不存在则新增 |
| 删除 | remove/delete | |
| 获取 | get | 获取到单条记录 |
| 更新 | update | 更新存在的记录 |
| 查询 | query | 根据id等简单条件查询 |
| 搜索 | search | 根据时间范围或模糊搜索 |