Skip to content

Latest commit

 

History

History
108 lines (76 loc) · 4.62 KB

pattern.md

File metadata and controls

108 lines (76 loc) · 4.62 KB

数据库设计规范

表设计规范

1、表名全部小写,单词间通过'_'间隔

2、主键命名为'id',pg库类型为serial自增长主键,会默认创建名为[表名_id_seq]的序列

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 如email,username
状态类 varchar 5 如订单状态等
名称类 varchar 200 中文名称,如产品名
手机电话 varchar 20
描述简介 varchar 500
网址类 varchar 500 如url
时间类 timestamp

URL和方法命名规范

RESTFUL URL命名规范

API URI design API URI 设计最重要的一个原则: nouns (not verbs!) ,名词(而不是动词)。

CRUD 简单 URI:

方法 URL 功能
GET /users 获取用户列表
GET /users/1 获取 id 为 1 的用户
POST /users 创建一个用户
PUT /users/1 替换 id 为 1 的用户
PATCH /users/1 修改 id 为 1 的用户
DELETE /users/1 删除 id 为 1 的用户

上面是对某一种资源进行操作的 URI,那如果是有关联的资源,或者称为级联的资源,该如何设计 URI 呢?比如某一用户下的产品:

方法 URL 功能
GET /users/1/products 获取 Id 为 1 用户下的产品列表
GET /users/1/products/2 获取 Id 为 1 用户下 Id 为 2 的产品
POST /users/1/products 在 Id 为 1 用户下,创建一个产品
PUT /users/1/products/2 在 Id 为 1 用户下,替换 Id 为 2 的产品
PATCH /users/1/products/2 修改 Id 为 1 的用户下 Id 为 2 的产品
DELETE /users/1/products/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
获取 get 获取到单条记录
删除 remove/delete
更新 update 更新存在的记录
保存 save 更新,不存在则新增
查询 query 根据id等简单条件查询
搜索 search 根据时间范围或模糊搜索