数据模型
在请求参数和返回参数中可对参数进行数据处理,选择对应的数据模型对参数值进行二次处理。 
- 请求参数模型
- 手机号校验:
校验参数值是否符合手机号规则 - 邮箱校验:
校验参数值是否符合邮箱地址规则 - 长度校验:
校验参数值是否设置的长度规则,需设置【模型规则】列,如:6 - 数值校验:
校验参数值是否是否是数值 - 正则校验:
校验参数值是否设置的正则规则,需设置【模型规则】列,如:^[0-9]+$
- 返回参数模型
- 字段隐藏:
在返回字段数据中删掉该字段 - 主键/子集:
对返回的列表数据根据主键/子集规则进行内嵌结构转换 - 内容拼接:
对字段数据进行固定值拼接 - 内容替换:
对字段数据按规则替换 - 内容截取:
对字段数据按规则截取,需设置【模型规则】列,如:0,2 - 内容分割:
对字段数据按规则分割,需设置【模型规则】列,如:@ - 时间格式化:
对字段数据按规则格式化,需设置【模型规则】列,如:yyyy-MM-dd - 函数标识:
根据函数标识的字段对返回数据进行内嵌结构转换 - 数据脱敏:
对返回的字段数据进行加密脱敏
- 数据处理示例
下面示例对返回数据设置多个数据模型
模型处理后结果 
- 结构转换示例
对编写关联多表查询的sql返回的关联数据进行逻辑嵌套处理。
关联查询SQL
sql
select
u.user_id,
u.`user_name`,
r.role_name,
r.role_id,
m.menu_name,
m.menu_id
from
base_sys_user u,
base_sys_role r,
base_sys_role_menu rm,
base_sys_menu m
where
u.role_id = r.role_id
and r.role_id = rm.role_id
and rm.menu_id = m.menu_id查询结果

设置数据模型 对SQL脚本返回中的主键字段设置为数据模型【主键】,【子集】列roles和menus为手动新增的对象字段,SQL脚本中是不存在,【子集】下面是内嵌的字段列,是SQL脚本中存在关联字段
处理后的内嵌数据
json
{
"msg": "success",
"code": 0,
"data": [
{
"roles": [
{
"role_id": 2,
"role_name": "用户",
"menus": [
{
"menu_id": 7,
"menu_name": "接口详情"
},
{
"menu_id": 3,
"menu_name": "工作台"
}
]
}
],
"user_id": 10002,
"user_name": "admin321"
}
]
}- 函数使用示例
使用数据库自带的函数实现关联内嵌json查询。如mysql的JSON_ARRAYAGG函数。
函数SQL
sql
SELECT
u.user_id,
u.user_name,
JSON_ARRAYAGG(
JSON_OBJECT(
'roleId', r.role_id,
'roleName', r.role_name,
'menus', role_menus.menus
)
) AS roles
FROM base_sys_user u
INNER JOIN base_sys_role r ON u.role_id = r.role_id
INNER JOIN (
SELECT
rm.role_id,
JSON_ARRAYAGG(
JSON_OBJECT(
'menuId', m.menu_id,
'menuName', m.menu_name
)
) AS menus
FROM base_sys_role_menu rm
INNER JOIN base_sys_menu m ON rm.menu_id = m.menu_id
GROUP BY rm.role_id
) AS role_menus ON r.role_id = role_menus.role_id
GROUP BY u.user_id, u.user_name;查询结果
设置数据模型对SQL脚本中的JSON_ARRAYAGG的别名字段设置为数据模型中的【函数标识】
处理后的内嵌数据
