仅适用于v3.3.4+
前端如何使用APIRequest构造复杂查询?
一、简单查询条件
仅支持所有条件AND或者OR,以第一个参数的relation为准;
- 以下两种参数是所有字段使用AND,”relation”不传默认是”AND”
{
"parameters": [
{
"key": "Q^NAME_^SL",
"value": "ss",
"relation": "AND"
},
{
"key": "Q^ACCOUNT_^SL",
"value": "c"
}
]
}
{
"parameters": [
{
"key": "Q^NAME_^SL",
"value": "ss"
},
{
"key": "Q^ACCOUNT_^SL",
"value": "c"
}
]
}
- 以下参数是所有字段使用OR
{
"parameters": [
{
"key": "Q^NAME_^SL",
"value": "ss",
"relation": "OR"
},
{
"key": "Q^ACCOUNT_^SL",
"value": "c"
}
]
}
二、复杂查询条件
支持多层嵌套AND或者OR,第一层parameters为顶层分组,从第二层parameters开始才是条件构造;
相同字段的组合查询
{ "parameters": [ { "relation": "OR", "parameters": [ { "relation": "AND", "parameters": [ { "key": "Q^NAME_^SL", "value": "管", "param": "name" }, { "key": "Q^ACCOUNT_^SL", "value": "admin", "param": "account" } ] }, { "relation": "AND", "parameters": [ { "key": "Q^NAME_^SL", "value": "cwws1", "param": "name1" }, { "key": "Q^ACCOUNT_^SL", "value": "cwws1", "param": "account1" } ] } ] } ], "requestPage": { "pageNo": 1, "limit": 20 }, "sorts": [] }
不同字段的组合查询
{ "parameters": [ { "relation": "OR", "parameters": [ { "relation": "AND", "parameters": [ { "key": "Q^NAME_^SL", "value": "管" }, { "key": "Q^ACCOUNT_^SL", "value": "admin" } ] }, { "relation": "AND", "parameters": [ { "key": "Q^FULL_NAME_^SL", "value": "cwws1" }, { "key": "Q^OUT_ACCOUNT_^SL", "value": "cwws1" } ] } ] } ], "requestPage": { "pageNo": 1, "limit": 20, }, "sorts": [] }
三、API说明
3.1、parameters 查询的参数构造
parameters 参数说明
参数 | 描述 | 是否必填 | 默认值 |
---|---|---|---|
key | 查询参数key | 是 | 1 |
value | 查询值 | 是 | 20 |
relation | 查询条件关系 AND/OR | 否 | |
param | 参数替换key,如果查询参数key为同个参数必传 | 否 |
parameters 下的查询参数key说明
1、 参数命名规则Q^参数名称^参数类型
。 eg:Q^name_^SL
。以Q开始,采用^进行拆分。
2、 参数名称
注意:这个为数据库表的字段,eg:name_
,如果后台多个字段的查询,也可以为别名.字段
。
3、 参数类型:
平台封装了下面参数类型
参数值 | 参数对应比较符 | 参数描述 | 使用场景 |
---|---|---|---|
ISN | is null | 全字段可用,字段为空 | 下拉框 |
ISNN | is not null | 全字段可用,字段不为空 | 下拉框 |
S | = | 字符串,精确匹配 | 下拉框、选择器 |
NE | != | 字符串,不等于 | 文本框 |
SIE | = ‘’ | 字符串,String为空 | 文本框 |
SNE | != ‘’ | 字符串,String不为空 | 文本框 |
SL | Like | 字符串,模糊查询 | 文本框 |
SLL | Like | 字符串,左模糊查询 | 一般情况是文本框 |
SLR | Like | 字符串,右模糊查询 | 一般情况是文本框 |
SIN | in | 字符串,in类型 | 一般情况是文本框 |
SNIN | no in | 字符串,not in类型 | 一般情况是文本框 |
SLN | Like | 字符串,不包含,模糊查询 | 一般情况是文本框 |
SLRN | Like | 字符串,不包含,模糊查询 | 一般情况是文本框 |
SLLN | Like | 字符串,不包含,模糊查询 | 一般情况是文本框 |
SMV | = | 字符串,String等于-多值传参 | 文本框 |
SLMV | like | 字符串,String模糊匹配-多值传参 | 文本框 |
SLLMV | like | 字符串,String左模糊匹配-多值传参 | 文本框 |
SLRMV | like | 字符串,String右模糊匹配-多值传参 | 文本框 |
L | = | 长整型 | 一般情况是文本框 |
LN | != | 长整型,不等于 | 文本框 |
LLS | > | 长整型,大于 | 文本框 |
LGT | < | 长整型,小于 | 文本框 |
LL | >= | 开始长整型 | 长整型范围 |
LG | <= | 结束长整型 | 长整型范围 |
LIN | in | 长整型,多值匹配 | 文本框,下拉框 |
LNIN | not in | 长整型,多值不匹配 | 文本框,下拉框 |
LMV | = | 长整型,等于-多值传参 | 文本框,下拉框 |
N | = | 整型 | 下拉框 |
NN | != | 整型,不等于 | 下拉框 |
NLS | > | 整型,大于 | 下拉框 |
NGT | < | 整型,小于 | 下拉框 |
NL | >= | 开始整型 | 整型范围 |
NG | <= | 结束整型 | 整型范围 |
NIN | in | 整型,多值匹配 | 下拉框 |
NNIN | not in | 整型,多值不匹配 | 下拉框 |
NMV | = | 整型,等于-多值传参 | 下拉框 |
SN | = | 短整型 | 下拉框 |
SNN | != | 短整型,不等于 | 文本框,下拉框 |
SNLS | > | 短整型,大于 | 下拉框 |
SNGT | < | 短整型,小于 | 下拉框 |
SNL | >= | 短整型,大于等于 | 下拉框 |
SNG | <= | 短整型,小于等于 | 下拉框 |
SNIIN | in | 短整型,多值匹配 | 下拉框 |
SNNIN | not in | 短整型,多值不匹配 | 下拉框 |
SNMV | = | 短整型,等于-多值传参 | 下拉框 |
DB | = | 双精度 | 一般情况是文本框 |
DBN | != | 双精度,不等于 | 文本框,下拉框 |
DBLS | > | 双精度,大于 | 文本框,下拉框 |
DBGT | < | 双精度,小于 | 文本框,下拉框 |
DBL | >= | 双精度,大于等于 | 双精度浮点范围 |
DBG | <= | 双精度,小于等于 | 双精度浮点范围 |
DBIN | in | 双精度,多值匹配 | 文本框,下拉框 |
DBNIN | not in | 双精度,多值不匹配 | 文本框,下拉框 |
DBMV | = | 双精度,等于-多值传参 | 文本框,下拉框 |
FT | = | 单精度 | 一般情况是文本框 |
FTN | != | 单精度,不等于 | 文本框,下拉框 |
FTLS | > | 单精度,大于 | 文本框,下拉框 |
FTGT | < | 单精度,小于 | 文本框,下拉框 |
FTL | >= | 单精度,大于等于 | 单精度浮点范围 |
FTG | <= | 单精度,小于等于 | 单精度浮点范围 |
FTIN | in | 单精度,多值匹配 | 文本框,下拉框 |
FTNIN | not in | 单精度,多值不匹配 | 文本框,下拉框 |
FTMV | = | 单精度,等于-多值传参 | 文本框,下拉框 |
BD | = | BigDecimal | 一般情况是文本框 |
BDN | != | BigDecimal,不等于 | 文本框,下拉框 |
BDLS | > | BigDecimal,大于 | 文本框,下拉框 |
BDGT | < | BigDecimal,小于 | 文本框,下拉框 |
BDL | >= | BigDecimal,大于等于 | 大数字范围 |
BDG | <= | BigDecimal,小于等于 | 大数字范围 |
BDIN | in | BigDecimal,多值匹配 | 文本框,下拉框 |
BDNIN | not in | BigDecimal,多值不匹配 | 文本框,下拉框 |
BDMV | = | BigDecimal,等于-多值传参 | 文本框,下拉框 |
D | = | 时间 | 时间 |
DN | != | 时间,不等于 | 日期控件 |
DLS | > | 时间,大于 | 日期范围控件 |
DGT | < | 时间,小于 | 日期范围控件 |
DL | >= | 开始时间,大于等于 | 日期范围控件 |
DG | <= | 结束时间,小于等于 | 日期范围控件 |
DIN | in | 时间,多值匹配 | 日期控件 |
DNIN | not in | 时间,多值不匹配 | 日期控件 |
DMV | = | 时间,等于-多值传参 | 日期控件 |
3.2、 requestPage 分页构造
eg:
"requestPage": {
"pageNo": 1,
"limit": 20,
}
参数说明
参数 | 描述 | 可选值 | 默认值 |
---|---|---|---|
pageNo | 分页起 | 1 | |
limit | 分页大小 | 20 |
3.3、sorts 排序构造
eg:
"sorts":[{
"field":"CREATE_TIME_",
"order":"DESC"
}]
参数说明
参数 | 描述 | 可选值 | 默认值 |
---|---|---|---|
field | 排序字段 | ||
order | 排序顺序 | DESC/ASC |
作者:hugh 创建时间:2024-12-03 08:58
最后编辑:hugh 更新时间:2025-02-14 10:41
最后编辑:hugh 更新时间:2025-02-14 10:41