APIJSON - 功能符、数组关键词、对象关键词、全局关键词简表速查

2022-12-13 18:27:51 浏览数 (1)

一 功能符号

数据库表中的字段用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"     

二 数组关键词

"key":Object,key为 "[]":{} 中{}内的关键词,Object的类型由key指定 可以理解为下面这种格式

代码语言:javascript复制
"[]":{
   "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

三 对象关键词

"@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定 下面这种格式

代码语言:javascript复制
"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目前已实现

0 人点赞