一 功能符号
数据库表中的字段用key代替
[]:查询数组
代码语言:javascript复制"key[]":{}
{}:匹配选项范围
代码语言:javascript复制"key{}":[1,2,3]
{}:匹配条件范围
代码语言:javascript复制"key{}":"<=10;length(key)>1..."
<>:包含选项范围
代码语言:javascript复制"key<>":38710
}{@:判断是否存在
代码语言:javascript复制"key}{@":{}
():远程调用函数
代码语言:javascript复制"key()":"function(arg0,arg1...)"
@key():存储过程
代码语言:javascript复制"@key()":"function(arg0,arg1...)"
key@:引用赋值
代码语言:javascript复制"key@":"key0/key1.../targetKey"
key@:子查询
代码语言:javascript复制"key@":{
"range":"ALL",
"from":"Table",
"Table":{ ... }
}
$:模糊搜索
代码语言:javascript复制"key$":"�c%"
~:正则匹配
代码语言:javascript复制"key~":"^[0-9] $"
%:连续范围
代码语言:javascript复制"key%":"2018-01-01,2018-10-01"
:增加/扩展
代码语言:javascript复制"key ":[1]
-:减少/去除
代码语言:javascript复制"key-":888.88
>:比较运算
代码语言:javascript复制"key{}":"<=90000"
- ">" 大于
- "<" 小于
- ">=" 大于等于
- "<=" 小于等于
&:逻辑运算符
代码语言:javascript复制"key&{}":">80000,<=90000" // &, |, !
- "&" 与(并且)
- "|" 或(或者)
- "!" 非(不等于)
新建别名
代码语言:javascript复制"key:alias"
二 数组关键词
代码语言:javascript复制"key":Object,key为 "[]":{} 中{}内的关键词,Object的类型由key指定 可以理解为下面这种格式
"[]":{
"User":{},
"query":2,
"count":1,
......
},
查询数量
代码语言:javascript复制"count":1
查询页码
代码语言:javascript复制 "page":1
查询内容
代码语言:javascript复制"query":Integer
- 0 对象
- 1 总数和分页详情
- 2 数据、总数和分页详情
关联
代码语言:javascript复制"join":"&/Table0,</Table1/key1@"
- "@" APP JOIN
- "<" LEFT JOIN
- ">" RIGHT JOIN
- "&" INNER JOIN
- "|" FULL JOIN
- "!" OUTER JOIN
- "*" CROSS JOIN
- "^" SIDE JOIN
- "(" ANTI JOIN
- ")" FOREIGN JOIN
自定义关键词
代码语言:javascript复制"otherKey":Object
三 对象关键词
代码语言:javascript复制"@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定 下面这种格式
"Table": {
"@column":"key,key1",
}
条件组合
代码语言:javascript复制"@combine":"key0 | (key1 & (key2 | !key3))..."
返回字段
代码语言:javascript复制"@column":"column;function(arg)..."
排序方式
代码语言:javascript复制"@order":"column0 ,column1-..."
分组方式
代码语言:javascript复制"@group":"column0,column1..."
聚合条件HAVING
代码语言:javascript复制"@having":"function0(...)?value0;function1(...)?value1;function2(...)?value2..."
集合空间
代码语言:javascript复制 "@schema":"sys"
数据库类型
代码语言:javascript复制"@database":"POSTGRESQL"
跨数据源
代码语言:javascript复制"@datasource":"DRUID"
转为 JSON 格式返回
代码语言:javascript复制 "@json":"key0,key1..."
来访角色
代码语言:javascript复制"@role":"OWNER"
性能分析
代码语言:javascript复制"@explain":true
自定义原始SQL片段
代码语言:javascript复制"@raw":"key0,key1..."
自定义关键词
代码语言:javascript复制 "@otherKey":Object
四 全局关键词
为最外层对象 {} 内的关键词。
集合空间
代码语言:javascript复制 "@schema":"sys"
跨数据源
代码语言:javascript复制"@datasource":"DRUID"
来访角色
代码语言:javascript复制"@role":"OWNER"
性能分析
代码语言:javascript复制"@explain":true
参数校验
代码语言:javascript复制"tag":String
接口版本
代码语言:javascript复制"version":Integer
格式化
代码语言:javascript复制"format":Boolean
五 参考文档
APIJSON功能符:https://github.com/Tencent/APIJSON/blob/master/Document.md#32-功能符
APIJSON目前实现功能:https://github.com/Tencent/APIJSON/wiki#APIJSON目前已实现