10
2018-11-29 10:36:20 +08:00
@ren2881971
报表确实复杂,动辄一屏以上,各种 join,子查询,case 等,我也没见过能搞得定的 ORM。
不过一般中小型互联网项目的大部分接口都远没有这么复杂的查询,
APIJSON 支持得很好,仍然不用写代码,目前已实现:
大体功能:增删改查、分页查询、统计与验证、注册登录、模糊搜索、正则匹配、连续范围
、结构校验、角色及操作权限校验、数据保护、远程函数调用等
操作方式:增、删、改、查、调用远程函数
操作对象:单个对象、可关联的多个对象、数组等
请求方法:GET,HEAD,GETS,HEADS,POST,PUT,DELETE
请求结构:{Table:{...}}、{Table0:{...},Table1{...},Table2:{...}...}、{"[]":{Table:{...}}}、{"[]":{Table0:{...},Table1{...},"Array0[]":{...},...}}等各种组合和嵌套
返回结构:对应请求结构的各种 JSON 结构。
功能符号:
```js
"key[]":{} // 查询数组
"key{}":[] // 匹配选项范围
"key{}":"<=10;length(key)>1..." // 匹配条件范围
"key()":"function(arg0,arg1...)" // 远程调用函数
"[email protected]":"key0/key1.../targetKey" // 引用赋值
"key$":"%abc%" // 模糊搜索
"key~":"^[0-9]+$" // 正则匹配
"key%":"2018-01-01,2018-10-01" // 连续范围
"key+":[1] // 增加 /扩展
"key-":888.88 // 减少 /去除
"name:alias" // 新建别名
"@column":"id,sex,name" // 返回字段
"@group":"userId" // 分组方式
"@having":"max(id)>=100" // 聚合函数
"@order":"date-,name+" // 排序方式
"@schema":"sys" // 集合空间
"@database":"PostgreSQL" // 跨数据库
"@role":"LOGIN" // 访问角色
```
详细说明见通用文档中的 [功能符]( https://github.com/TommyLemon/APIJSON/blob/master/Document.md#3.2)